MD5 Ha sh Значения между C# и SQL - PullRequest
0 голосов
/ 06 февраля 2020

Мне нужно сопоставить значение между базой данных и C# Я получаю другое значение MD5 в C# и SQL для одной и той же строки.

C#:- 
    static void Main(string[] args)
            {
                MD5 md5= new MD5();
                var newHash = md5.Hash(Encoding.Unicode.GetBytes("postman"));

                string unicodeString = GetStringFromByteArray(newHash);

                Console.WriteLine(unicodeString);
                Console.ReadLine();
            }
           // Read the MD5 here
            private static string GetStringFromByteArray(byte[] changesBase64ToString)
            {
                StringBuilder builder2 = new StringBuilder();
                for (int i = 0; i < changesBase64ToString.Length; i++)
                {
                    builder2.Append(changesBase64ToString[i].ToString("x2"));
                }

                return "0x" + builder2.ToString().ToUpper();
            }

Вот оператор SQL для получения MD5 для строки sam: - Выберите HASHBYTES ('MD5', UPPER (CONVERT (NVARCHAR (MAX), 'postman')))) AS [ MD5]

Не могли бы вы подсказать, что здесь не так и почему я получаю другое значение для MD5?

...