Мне нужно сопоставить значение между базой данных и 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?