При использовании CAPICOM в Classic ASP (VBScript) для выполнения хэширования MD5, например, так:
With server.CreateObject("CAPICOM.HashedData")
.Algorithm = 3 ' CAPICOM_HASH_ALGORITHM_MD5
.Hash "password"
md5Pwd = .Value
End With
Я получаю такой результат: B081DBE85E1EC3FFC3D4E7D0227400CD
Когда я использую .NET, я получаюэтот результат: 5f4dcc3b5aa765d61d8327deb882cf99
Почему строки MD5 отличаются?Что я делаю не так?
Вот моя функция C #:
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash( Encoding.Default.GetBytes( val ) );
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for( int i = 0; i < data.Length; i++ ) {
sBuilder.Append( data[i].ToString( "x2" ) );
}
// Return the hexadecimal string.
return sBuilder.ToString();