2012-04-11 16 views
16

Sto cercando di utilizzare HASHBYTES con SHA2_512 come algo. Tuttavia, quando provo a farlo in SQL Server Management Studio tutto ciò che ottengo è nullo.SQL Server 2008 R2 HASHBYTES SHA2 restituisce null

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

Cosa sto sbagliando?
C'è un modo per visualizzare il valore restituito da SELECT HASHBYTES('SHA2', 'test')?

grazie

risposta

0

Ecco un piccolo esempio con 128, 256 e 512 bit

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 supporta SHA2 512 in SQL Server 2012+.

SQL Server 2008 R2 e versioni precedenti NON supportano SHA2_512. Ecco HASHBYTES on MSDN.

+0

Oops, grazie per segnalarlo. Non ho preso le informazioni sulla versione in cima alla pagina MSDN – shikarishambu

+0

questa dovrebbe essere la risposta giusta. È a causa della versione sql. – jace

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