将HashBytes转换为VarChar

时间:2020-03-05 18:37:42  来源:igfitidea点击:

我想在SQL Server 2005中获取字符串值的MD5哈希值。我使用以下命令执行此操作:

SELECT HashBytes('MD5', 'HelloWorld')

但是,这将返回VarBinary而不是VarChar值。如果我尝试将0x68E109F0F40CA72A15E05CC22786F8E6转换为VarChar,则会得到" h e?* \?'???"而非" 68E109F0F40CA72A15E05CC22786F8E6"。

是否有任何基于SQL的解决方案?

是的

解决方案

回答

我在其他地方找到了解决方案:

SELECT SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', 'HelloWorld')), 3, 32)

回答

将数据类型更改为varbinary似乎最适合我。