Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Geeft de MD2, MD4, MD5, SHA, SHA1 of SHA2 hash van zijn invoer terug in SQL Server.
Transact-SQL syntaxis-conventies
Syntaxis
HASHBYTES ( '<algorithm>', { @input | 'input' } )
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512
Arguments
<algorithm>
Identificeert het hashing-algoritme dat gebruikt moet worden om de invoer te hashen. Dit is een verplicht argument zonder standaard. De enkele aanhalingstekens zijn verplicht. Vanaf SQL Server 2016 (13.x) zijn alle algoritmen behalve SHA2_256 en SHA2_512 verouderd.
@input
Specificeert een variabele met de te hashen gegevens.
@input is varchar, nvarchar of varbinair.
'input'
Specificeert een expressie die geƫvalueert wordt naar een teken of binaire string die gehasht moet worden.
De output voldoet aan de algoritmestandaard: 128 bits (16 bytes) voor MD2, MD4 en MD5; 160 bits (20 bytes) voor SHA en SHA1; 256 bits (32 bytes) voor SHA2_256, en 512 bits (64 bytes) voor SHA2_512.
Van toepassing op: SQL Server 2012 (11.x) en later
Voor SQL Server 2014 (12.x) en eerder zijn toegestane invoerwaarden beperkt tot 8000 bytes.
Retourwaarde
varbinary (maximaal 8000 bytes)
Opmerkingen
Overweeg het gebruik van CHECKSUM or BINARY_CHECKSUM als alternatief om een hashwaarde te berekenen.
De MD2-, MD4-, MD5-, SHA- en SHA1-algoritmen zijn verouderd vanaf SQL Server 2016 (13.x). Gebruik in plaats daarvan SHA2_256 of SHA2_512. Oudere algoritmes blijven werken, maar veroorzaken een deprecatiegebeurtenis.
Voorbeelden
Geef de hash van een variabele terug
Het volgende voorbeeld geeft de SHA2_256 hash terug van de nvarchar-gegevens die in variabele @HashThiszijn opgeslagen.
DECLARE @HashThis NVARCHAR(32);
SET @HashThis = CONVERT(NVARCHAR(32),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA2_256', @HashThis);
Geef de hash van een tabelkolom terug
Het volgende voorbeeld geeft de SHA2_256 hash van de waarden in de kolom c1 in de tabel Test1terug.
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;
Hier is het resultatenoverzicht.
-------------------------------------------
0x741238C01D9DB821CF171BF61D72260B998F7C7881D90091099945E0B9E0C2E3
0x91DDCC41B761ACA928C62F7B0DA61DC763255E8247E0BD8DCE6B22205197154D
(2 row(s) affected)
Zie ook
Kies een encryptie-algoritmeCHECKSUM_AGG (Transact-SQL)CHECKSUM (Transact-SQL)BINARY_CHECKSUM (Transact-SQL)