SQL Server 2008 R2 HASHBYTES SHA2返回null

shi*_*mbu 17 sql hash sql-server-2008

我正在尝试使用带有SHA2_512的HASHBYTES作为算法.但是,当我尝试在SQL Server Management Studio中执行此操作时,我得到的所有内容都为null.

SELECT HASHBYTES('SHA1','test') //works
SELECT HASHBYTES('SHA2','test') //returns null
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?
有没有办法查看返回值SELECT HASHBYTES('SHA2', 'test')

谢谢

p.c*_*ell 25

SQL Server支持SQL Server 2012+中的SHA2 512.

SQL Server 2008 R2及更低版本不支持SHA2_512.这是MSDN上HASHBYTES.


Car*_*los 2

这是一个 128、256 和 512 位的小例子

DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'This is a sample string');
SELECT HASHBYTES('SHA1', @HashThis);
SELECT HASHBYTES('SHA2_256', @HashThis);
SELECT HASHBYTES('SHA2_512', @HashThis);
GO
Run Code Online (Sandbox Code Playgroud)