我试图查看将返回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
答案 0 :(得分:1)
'test'
是varchar
,而不是nvarchar
。尝试
select Value, CONVERT(NVARCHAR(32),HashBytes('MD5', N'test'),2) from SomeTable
按预期返回C8059E2EC7419F590E79D7F1B774BFE6
。