El hash MD5 no coincide en C#y PHP
(1)
Su problema está aquí:
Guid r = new Guid(encodedBytes);
string hashString = r.ToString("N");
No estoy seguro de por qué estás cargando tus bytes codificados en un Guid, pero esa no es la forma correcta de convertir bytes de nuevo a una cadena. Utilice BitConverter
en BitConverter
lugar:
string testString = "123";
byte[] asciiBytes = ASCIIEncoding.ASCII.GetBytes(testString);
byte[] hashedBytes = MD5CryptoServiceProvider.Create().ComputeHash(asciiBytes);
string hashedString = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
// hashString == 202cb962ac59075b964b07152d234b70
He intentado hashear una cadena en PHP usando MD5 y lo mismo en C #, pero los resultados son diferentes.
mi código C # parece
md5 = new MD5CryptoServiceProvider();
originalBytes = ASCIIEncoding.Default.GetBytes(AuthCode);
encodedBytes = md5.ComputeHash(originalBytes);
Guid r = new Guid(encodedBytes);
string hashString = r.ToString("N");
Gracias por adelantado
Editado: Mi cadena es 123 como una cadena
Salidas;
PHP: 202cb962ac59075b964b07152d234b70
C #: 62b92c2059ac5b07964b07152d234b70