2012-04-11 104 views
16

我试图使用HASHBYTES和SHA2_512作为算法。但是,当我尝试在SQL Server Management Studio中执行此操作时,我所得到的全部为空。SQL Server 2008 R2 HASHBYTES SHA2返回null

SELECT HASHBYTES('SHA1','test') //works 
SELECT HASHBYTES('SHA2','test') //returns null 

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

谢谢

回答

0
这里

小例如具有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 
20

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

SQL Server 2008 R2及更低版本不支持SHA2_512。这里是HASHBYTES on MSDN

+0

糟糕,感谢它指向了。我没有捕获MSDN页面 – shikarishambu 2012-04-16 20:11:45

+0

顶部的版本信息,这应该是正确的答案。这是因为sql版本。 – jace 2018-02-06 03:20:44

1
SELECT HASHBYTES('SHA2_256','test') 
SELECT HASHBYTES('SHA2_512','test')