2012-04-11 20 views
16

Estoy tratando de usar HASHBYTES con SHA2_512 como el algo. Sin embargo, cuando intento hacerlo en SQL Server Management Studio, todo lo que obtengo es nulo.SQL Server 2008 R2 HASHBYTES SHA2 devuelve nulo

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

¿Qué estoy haciendo mal?
¿Hay alguna manera de ver el valor de retorno desde SELECT HASHBYTES('SHA2', 'test')?

gracias

Respuesta

0

Aquí un pequeño ejemplo con 128, 256 y 512 bits

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 admite SHA2 512 en SQL Server 2012+.

SQL Server 2008 R2 y versiones posteriores NO son compatibles con SHA2_512. Aquí está HASHBYTES on MSDN.

+0

Vaya, gracias por señalarlo. No capturé la información de la versión en la parte superior de la página de MSDN – shikarishambu

+0

, esta debería ser la respuesta correcta. Es por la versión sql. – jace

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