使用SQL Server中的查询在Base64中哈希MD5

时间:2011-10-22 10:35:39

标签: sql sql-server hash base64 md5

我正在尝试在MD5 Base64中生成特定字符串的哈希值。 是否可以在SQL Server中的查询中执行此操作?

我知道有一个函数可以在HashBytes(Algo,String)中生成哈希值,但是没有Base64选项。

有吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

CREATE FUNCTION dbo.Base64Encode
(
    @bin VARBINARY(MAX)
)
RETURNS VARCHAR(MAX)
AS
BEGIN   
    return CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:variable("@bin")))', 'VARCHAR(MAX)')
END

SELECT dbo.Base64Encode(HashBytes('MD5', ItemName))
FROM tblItems