【发布时间】:2015-05-08 09:11:37
【问题描述】:
我在 SQL Server 2005 中尝试使用此命令从“123”获取 MD5:
select SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('MD5', '123' )), 3, 32)
我得到了这个结果:
202cb962ac59075b964b07152d234b70
我要转成二进制格式,
select
convert(varbinary(16), SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('MD5', '123')), 3, 32))
我得到了这个结果:
0x32003000320063006200390036003200
为什么会有这段代码:
select convert(varbinary(16), '202cb962ac59075b964b07152d234b70')
导致不同的值?
0x32303263623936326163353930373562
【问题讨论】:
-
试试这个:
select convert(varbinary(16), N'202cb962ac59075b964b07152d234b70')...注意字符串前的N,使后面的字符串变成Unicode
标签: sql tsql sql-server-2005 binary md5