Dunque per fare delle prove ho scritto questo codice in .NET
Codice PHP:
MD5 md5Hash = new MD5CryptoServiceProvider();
byte[] passwordByteASCII = Encoding.ASCII.GetBytes("1");
byte[] passwordByteUnicode = Encoding.Unicode.GetBytes("1");
byte[] passwordByteUTF32 = Encoding.UTF32.GetBytes("1");
byte[] passwordByteUTF7 = Encoding.UTF7.GetBytes("1");
byte[] passwordByteUTF8 = Encoding.UTF8.GetBytes("1");
Console.WriteLine("Hash stringa ASCII " + Convert.ToBase64String(md5Hash.ComputeHash(passwordByteASCII)));
Console.WriteLine("Hash stringa UTF7 " + Convert.ToBase64String(md5Hash.ComputeHash(passwordByteUTF7)));
Console.WriteLine("Hash stringa UTF8 " + Convert.ToBase64String(md5Hash.ComputeHash(passwordByteUTF8)));
Console.WriteLine("Hash stringa Unicode " + Convert.ToBase64String(md5Hash.ComputeHash(passwordByteUnicode)));
Console.WriteLine("Hash stringa UTF32 " + Convert.ToBase64String(md5Hash.ComputeHash(passwordByteUTF32)));
che da come risultato :
Hashing in MD5 della stringa '1'
Hash stringa ASCII xMpCOKC5I4INzFCab3WEmw==
Hash stringa UTF7 xMpCOKC5I4INzFCab3WEmw==
Hash stringa UTF8 xMpCOKC5I4INzFCab3WEmw==
Hash stringa Unicode BtSWMsncm8tirq75lhK6aw==
Hash stringa UTF32 1dEUT+c5VKp01UJn4NEOeg==
la stessa stringa con l'MD5 che mi ero scaricato ha il valore
c4ca4238a0b923820dcc509a6f75849b