Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Vrací hash MD2, MD4, MD5, SHA, SHA1 nebo SHA2 svého vstupu v SQL Serveru.
Syntaxe
HASHBYTES ( '<algorithm>', { @input | 'input' } )
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512
Arguments
<algorithm>
Identifikuje hashovací algoritmus, který se použije k hashování vstupu. To je nutný argument bez defaultu. Jsou povinné používat pouze úvodzovky. Od SQL Server 2016 (13.x) jsou všechny algoritmy kromě SHA2_256 a SHA2_512 zastaralé.
@input
Specifikuje proměnnou obsahující data, která mají být hashována.
@input je varchar, nvarchar nebo varbinární.
'vstup'
Specifikuje výraz, který se vyhodnocuje na znak nebo binární řetězec, který má být hashován.
Výstup odpovídá standardu algoritmu: 128 bitů (16 bajtů) pro MD2, MD4 a MD5; 160 bitů (20 bajtů) pro SHA a SHA1; 256 bitů (32 bajtů) pro SHA2_256 a 512 bitů (64 bajtů) pro SHA2_512.
Platí na: SQL Server 2012 (11.x) a novější
Pro SQL Server 2014 (12.x) a starší jsou povolené vstupní hodnoty omezeny na 8000 bajtů.
Návratová hodnota
varbinární (maximálně 8000 bajtů)
Poznámky
Zvažte použití CHECKSUM nebo BINARY_CHECKSUM jako alternativu k výpočtu hash hodnoty.
Algoritmy MD2, MD4, MD5, SHA a SHA1 jsou od SQL Server 2016 (13.x) zastaralé. Místo toho použijte SHA2_256 nebo SHA2_512. Starší algoritmy budou dál fungovat, ale vyvolávají událost o ukončení provozu.
Examples
Vraťte hash proměnné
Následující příklad vrací SHA2_256 hash dat nvarchar uložených v proměnné @HashThis.
DECLARE @HashThis NVARCHAR(32);
SET @HashThis = CONVERT(NVARCHAR(32),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA2_256', @HashThis);
Vraťte hash sloupce tabulky
Následující příklad vrací SHA2_256 hash hodnot ve sloupci c1 tabulky 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;
Tady je soubor výsledků.
-------------------------------------------
0x741238C01D9DB821CF171BF61D72260B998F7C7881D90091099945E0B9E0C2E3
0x91DDCC41B761ACA928C62F7B0DA61DC763255E8247E0BD8DCE6B22205197154D
(2 row(s) affected)
Viz také
Vyberte šifrovací algoritmusCHECKSUM_AGG (Transact-SQL)CHECKSUM (Transact-SQL)BINARY_CHECKSUM (Transact-SQL)