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

Dar*_*Tay 2 sql sql-server hash base64 md5

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

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

在那儿?

谢谢!

Mag*_*nus 5

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
Run Code Online (Sandbox Code Playgroud)