declare @md5 varchar(40);
--乱码
SELECT @md5 = hashbytes('MD5', '1') ;
print @md5;
--正常
SELECT @md5=sys.fn_VarBinToHexStr(hashbytes('MD5', '1'))
print SUBSTRING(@md5, 3, 35);
print UPPER(SUBSTRING(@md5, 3, 35));
SELECT @md5=sys.fn_VarBinToHexStr(hashbytes('SHA1', '1'))
print SUBSTRING(@md5, 3, 35);
print UPPER(SUBSTRING(@md5, 3, 35));
Reference:
1. http://blog.chinaunix.net/uid-10697776-id-2935575.html
SQLServer中的MD5加密实现方法——区分32位和16位加密
http://blog.sina.com.cn/s/blog_49540f440100hy9h.html