Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Devolve o hash MD2, MD4, MD5, SHA, SHA1 ou SHA2 da sua entrada no SQL Server.
Transact-SQL convenções de sintaxe
Sintaxe
HASHBYTES ( '<algorithm>', { @input | 'input' } )
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512
Arguments
<algorithm>
Identifica o algoritmo de hash a ser usado para fazer o hash da entrada. Este é um argumento obrigatório, sem incumprimento. As aspas simples são obrigatórias. A partir do SQL Server 2016 (13.x), todos os algoritmos exceto SHA2_256 e SHA2_512 ficam obsoletos.
@input
Especifica uma variável contendo os dados a ser hashados.
@input é varchar, nvarchar ou varbinary.
'entrada'
Especifica uma expressão que avalia para um carácter ou cadeia binária a ser hashada.
A saída cumpre o padrão do algoritmo: 128 bits (16 bytes) para MD2, MD4 e MD5; 160 bits (20 bytes) para SHA e SHA1; 256 bits (32 bytes) para SHA2_256, e 512 bits (64 bytes) para SHA2_512.
Aplica-se a: SQL Server 2012 (11.x) e versões posteriores
No SQL Server 2014 (12.x) e anteriores, os valores de entrada permitidos estão limitados a 8000 bytes.
Valor de retorno
varbinary (máximo 8000 bytes)
Observações
Considere usar CHECKSUM ou BINARY_CHECKSUM como alternativas para calcular um valor de hash.
Os algoritmos MD2, MD4, MD5, SHA e SHA1 estão obsoletos a partir do SQL Server 2016 (13.x). Em vez disso, use SHA2_256 ou SHA2_512. Algoritmos mais antigos continuam a funcionar, mas geram um evento de depreciação.
Examples
Devolver o hash de uma variável
O exemplo seguinte devolve o SHA2_256 hash dos dados nvarchar armazenados na variável @HashThis.
DECLARE @HashThis NVARCHAR(32);
SET @HashThis = CONVERT(NVARCHAR(32),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA2_256', @HashThis);
Devolver o hash de uma coluna de tabela
O exemplo seguinte devolve o SHA2_256 hash dos valores na coluna c1 da tabela Test1.
CREATE TABLE dbo.Test1 (c1 NVARCHAR(32));
INSERT dbo.Test1 VALUES ('This is a test.');
INSERT dbo.Test1 VALUES ('This is test 2.');
SELECT HASHBYTES('SHA2_256', c1) FROM dbo.Test1;
Aqui está o conjunto de resultados.
-------------------------------------------
0x741238C01D9DB821CF171BF61D72260B998F7C7881D90091099945E0B9E0C2E3
0x91DDCC41B761ACA928C62F7B0DA61DC763255E8247E0BD8DCE6B22205197154D
(2 row(s) affected)
Ver também
Escolha um Algoritmo de EncriptaçãoCHECKSUM_AGG (Transact-SQL)CHECKSUM (Transact-SQL)BINARY_CHECKSUM (Transact-SQL)