Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Returnerar MD2, MD4, MD5, SHA, SHA1 eller SHA2-hashen av sin indata i SQL Server.
Transact-SQL syntaxkonventioner
Syntax
HASHBYTES ( '<algorithm>', { @input | 'input' } )
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512
Arguments
<algorithm>
Identifierar hashalgoritmen som ska användas för att hasha indatan. Detta är ett obligatoriskt argument utan standard. Citattecken är obligatoriska. Från och med SQL Server 2016 (13.x) är alla algoritmer utom SHA2_256 och SHA2_512 föråldrade.
@input
Specificerar en variabel som innehåller datan som ska hashas.
@input är varchar, nvarchar eller varbinär.
'input'
Specificerar ett uttryck som utvärderar till ett tecken eller en binär sträng som ska hashas.
Utdatan följer algoritmstandarden: 128 bitar (16 byte) för MD2, MD4 och MD5; 160 bitar (20 byte) för SHA och SHA1; 256 bitar (32 byte) för SHA2_256 och 512 bitar (64 byte) för SHA2_512.
Gäller för: SQL Server 2012 (11.x) och senare
För SQL Server 2014 (12.x) och tidigare är tillåtna indatavärden begränsade till 8000 byte.
Returvärde
varbinary (maximalt 8000 byte)
Anmärkningar
Överväg att använda CHECKSUM or BINARY_CHECKSUM som alternativ för att beräkna ett hashvärde.
MD2, MD4, MD5, SHA och SHA1-algoritmerna är föråldrade från och med SQL Server 2016 (13.x). Använd SHA2_256 eller SHA2_512 i stället. Äldre algoritmer fortsätter att fungera, men de kommer att skapa en avskrivningshändelse.
Examples
Returnera hashen för en variabel
Följande exempel returnerar hashen SHA2_256 av nvarchar-data lagrad i variabeln @HashThis.
DECLARE @HashThis NVARCHAR(32);
SET @HashThis = CONVERT(NVARCHAR(32),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA2_256', @HashThis);
Returnera hashen för en tabellkolumn
Följande exempel returnerar SHA2_256 hashen av värdena i kolumnen c1 i tabellen 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;
Här är resultatet.
-------------------------------------------
0x741238C01D9DB821CF171BF61D72260B998F7C7881D90091099945E0B9E0C2E3
0x91DDCC41B761ACA928C62F7B0DA61DC763255E8247E0BD8DCE6B22205197154D
(2 row(s) affected)
Se även
Välj en krypteringsalgoritmCHECKSUM_AGG (Transact-SQL)KONTROLLSUMMA (Transact-SQL)BINARY_CHECKSUM (Transact-SQL)