Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: vb.net - md5

  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    vb.net - md5

    Dim data(4) As Byte
    Dim md5 As New MD5CryptoServiceProvider
    data(0) = Asc("s")
    data(1) = Asc("h")
    data(2) = Asc("i")
    data(3) = Asc("t")
    Dim result As Byte() = md5.ComputeHash(data)

    dal sito della microsoft ho visto questo codice e lo messo sul mio programmino. Ma non ho ben compreso come funziona la variabile result. Ogni bit corrisponde a una lettera credo, ma quando faccio chr(result(0)) mi restituisce una cosa strana.

    riga 3 4 5 6 le ho inserite io, è giusto così?

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    devi convertie i byte ,anzi ogni singolo byte dell'array in forma di stringa ( chr(i)) per vederlo in formato diciamo ascii

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: vb.net - md5

    Originariamente inviato da FinalFantasy
    quando faccio chr(result(0)) mi restituisce una cosa strana.
    Hai tentato banalmente con un Result.ToString?

    Non sono sicuro però che l'array di byte fornisca la rappresentazione cercata... provare per credere.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    no xke il metodo .ToString non c'è. Io in poke parole devo confrontare il campo password con il campo pass preso da mysql

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da FinalFantasy
    no xke il metodo .ToString non c'è.
    Il metodo ToString esiste poichè è introdotto dalla classe System.Object.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    534
    result.toString non esiste
    result(1).tostring esiste.

    prova cmq così:

    Dim st As Stream = File.Open("c:\pippo3.txt", FileMode.CreateNew, FileAccess.Write)
    Dim bw As New BinaryWriter(st)
    bw.Write(result)
    bw.Close()
    st.Close()


    qui scrivi un file con tutto il byte result

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da zaratustra
    result.toString non esiste
    Ribadisco che Result è un array, pertanto l'istanza di un discendente di System.Array, un oggetto, quindi possiede il metodo ToString, sebbene purtroppo non faccia altro che restituire il nome del tipo stesso in forma testuale, quindi non è utile allo scopo (non avevo il tempo di provarlo ieri).

    Non ho comunque ancora compreso a fondo cosa occorre fare poi con i byte restituiti dall'array: visualizzarli? salvarli?

    Per trattare ciascun byte come codice ASCII di un carattere convertendo quindi il byte nel corrispondente dato di tipo Char, è possibile sfruttare i metodi della classe Convert; ad esempio:
    codice:
    aChar = Convert.ToChar(aByte)
    Se si desidera concatenare i caratteri in una stringa unica, è sufficiente utilizzare la classe StringBuilder (creata appositamente per questo scopo) dal namespace System.Text e chiamare il metodo Append per ciascun carattere ottenuto dalla conversione dei singoli byte dell'array; dal metodo ToString dell'oggetto StringBuilder si ottiene poi la stringa finale.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    oppure piu velocemente

    asciiencoding.ASCII.GetString(matricedibyte)


    ottieni da un intera matrice di byte una stringa in formato ascii.

  9. #9
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    con tutti i vostri suggerimenti nn esce nulla di rilevante: ™¤S\n'mL`z7nî

    sarebbe questo l'hash? Io mi aspetto una stringa di 32 caratteri...

  10. #10
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    534
    anche a me esce così. quello è l'hash

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.