Condividi tramite


HASHBYTES (Transact-SQL)

Restituisce l'hash MD2, MD4, MD5, SHA1 o SHA2 del relativo input.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

HASHBYTES ( '<algorithm>', { @input | 'input' } ) 

<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512 

Argomenti

  • '<algorithm>'
    Identifica l'algoritmo di hash da utilizzare per eseguire l'hashing dell'input. Si tratta di un argomento obbligatorio in assenza di impostazioni predefinite. Le virgolette singole sono obbligatorie.

  • @input
    Specifica una variabile contenente i dati di cui eseguire l'hashing. @input è di tipo varchar, nvarchar oppure varbinary.

  • ' input '
    Specifica una stringa di cui eseguire l'hashing.

Valore restituito

varbinary (massimo 8000 byte)

Osservazioni

La dimensione dei valori di input consentiti è limitata a 8.000 byte. L'output è conforme allo standard dell'algoritmo, ovvero 128 bit (16 byte) per MD2, MD4 e MD5 e 160 bit (20 byte) per SHA e SHA1; 256 bit (32 byte) per SHA2_256 e 512 bit (64 byte) per SHA2_512.

Esempi

Nell'esempio seguente viene restituito l'hash SHA1 dei dati nvarchar archiviati nella variabile @HashThis.

DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA1', @HashThis);
GO

Vedere anche

Concetti

Scelta di un algoritmo di crittografia