Хеширование MD5 не совпадает с C # и PHP

Я пробовал хэшировать строку в PHP, используя MD5, и то же самое в C #, но результаты разные. Может кто-нибудь объяснить мне, как это сделать?

мой код на C # выглядит

md5 = new MD5CryptoServiceProvider(); originalBytes = ASCIIEncoding.Default.GetBytes(AuthCode); encodedBytes = md5.ComputeHash(originalBytes); Guid r = new Guid(encodedBytes); string hashString = r.ToString("N"); 

заранее спасибо

Отредактировано: Моя строка – 123 в виде строки

Выходы;

PHP: 202cb962ac59075b964b07152d234b70

C #: 62b92c2059ac5b07964b07152d234b70

Solutions Collecting From Web of "Хеширование MD5 не совпадает с C # и PHP"

Ваша проблема здесь:

 Guid r = new Guid(encodedBytes); string hashString = r.ToString("N"); 

Я не уверен, почему вы загружаете закодированные байты в Guid, но это неверный способ преобразования байтов в строку. BitConverter этого используйте BitConverter :

 string testString = "123"; byte[] asciiBytes = ASCIIEncoding.ASCII.GetBytes(testString); byte[] hashedBytes = MD5CryptoServiceProvider.Create().ComputeHash(asciiBytes); string hashedString = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower(); // hashString == 202cb962ac59075b964b07152d234b70