HashBytes(' MD5',SomeValue)返回错误的md5哈希值

时间:2014-07-08 13:25:34

标签: sql-server

我试图查看将返回md5散列值的内容,如此MSDN article中建议的那样 如果我尝试使用列,HashBytes返回错误的值。例如:

select Value, CONVERT(NVARCHAR(32),HashBytes('MD5', 'test'),2) from SomeTable

结果是246A848AF2F8394E3ADBC738DBE43720

但是当我尝试

select  Value, CONVERT(NVARCHAR(32),HashBytes('MD5', Value),2) from SomeTable

具有值测试的单元格的结果是C8059E2EC7419F590E79D7F1B774BFE6

1 个答案:

答案 0 :(得分:1)

'test'varchar,而不是nvarchar。尝试

select Value, CONVERT(NVARCHAR(32),HashBytes('MD5', N'test'),2) from SomeTable

按预期返回C8059E2EC7419F590E79D7F1B774BFE6