2012-04-11 122 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')