PDA

View Full Version : [.NET] String->Byte


Stiwy.NET
14-08-2006, 21:45
Ciao, sarò breve:

è da un pò che volevo implementare la classe di conversione md5 del framework 2 per renderla un pò più comoda. :O
Purtroppo però mi sono inchiodato, fermato, bloccato, arenato sulla conversione di una stringa in un array di byte e viceversa. :eek: Il risultato che mi esce dalla funzione è diverso da quello che mi esce dalla funzione MD5 in PHP (http://www.nerocorvino.it/prova/md5.php) ... perchè :confused: ???

I miei tentativi sono stati:
Text.Encoding.Default.GetBytes(stringa)
Text.UTF8Encoding.Default.GetBytes(stringa)
Convert.FromBase64String(stringa)

e convertivo i byte con
text.UTF8Encoding.Default.GetString(arraybyte())
Convert.ToBase64String(arraybyte())

Crashbandy80
15-08-2006, 09:26
Al momento non posso testarlo, ma a memoria mi pare che la funzione MD5 utilizzi l'iso 8859, quindi in .net prova con :
Text.Encoding.GetEncoding("iso-8859-1").GetBytes(stringa)
mentre byte -> string
Text.Encoding.GetEncoding("iso-8859-1").GetString(arraybyte)

loris_p
15-08-2006, 15:58
sull'md5:visto che stai implementando una classe prima di fare lo sforzo magari dai un'occhiata a questo post ;)
http://www.hwupgrade.it/forum/showthread.php?t=1257503

Stiwy.NET
17-08-2006, 17:31
sull'md5:visto che stai implementando una classe prima di fare lo sforzo magari dai un'occhiata a questo post ;)
http://www.hwupgrade.it/forum/showthread.php?t=1257503
Tnx for the link... ma non l'ho trovato molto utile... :stordita: sapevo già più o meno tutto...

Ora provo quello che mi ha suggerito Crashbandy80

Stiwy.NET
19-08-2006, 11:45
Finalmente sono riuscito a far quadrare i due hash... faccio ancora un pò di test, ma sono fiducioso...

Quello che non capisco è che con il codice che mi ha passato Crashbandy80 continuava a non funzionare... ho dovuto modificare il codice così:
'Per convertire stringa in byte
Text.Encoding.Default.GetBytes(stringa)
'Per convertire byte in stringa
Dim temp As String = String.Empty
For Each b As Byte In returnByte
temp &= b.ToString("x").PadLeft(2, "0")
Next
Com'è possibile che non esista una funzione che faccia in automatico questa conversione?

Stiwy.NET
30-08-2006, 16:27
Finalmente sono riuscito a far quadrare i due hash... faccio ancora un pò di test, ma sono fiducioso...

Quello che non capisco è che con il codice che mi ha passato Crashbandy80 continuava a non funzionare... ho dovuto modificare il codice così:
'Per convertire stringa in byte
Text.Encoding.Default.GetBytes(stringa)
'Per convertire byte in stringa
Dim temp As String = String.Empty
For Each b As Byte In returnByte
temp &= b.ToString("x").PadLeft(2, "0")
Next
Com'è possibile che non esista una funzione che faccia in automatico questa conversione?
up