2012-04-11 23 views
16

私はSHA2_512をハローとして使用しようとしています。しかし、私がSQL Server Management Studioでそれをやろうとすると、私はすべてがnullになります。SQL Server 2008 R2ハッシュ関数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

おっと、それを指摘してくれてありがとうと小さな例につきSHA2_512 。私はMSDNのページの上にバージョン情報をキャッチしていない – shikarishambu

+0

これは正しい答えでなければなりません。それはSQLバージョンのためです。 – jace

1
SELECT HASHBYTES('SHA2_256','test') 
SELECT HASHBYTES('SHA2_512','test') 
関連する問題