Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Az SQL Serverben az MD2, MD4, MD5, SHA, SHA1 vagy SHA2 hash-et adja vissza.
Transact-SQL szintaxis konvenciók
Szemantika
HASHBYTES ( '<algorithm>', { @input | 'input' } )
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512
Arguments
<algorithm>
Azonosítja a hash-algoritmust, amelyet a bemenet hasheléséhez kell használni. Ez egy kötelező érv, nincs alapértelmezett érvelés. Az idézőjelek szükségesek. Az SQL Server 2016-tól (13.x) kezdve minden algoritmus a SHA2_256 és SHA2_512 kivételével elavult.
@input
Megad egy változót, amely tartalmazza a hashelendő adatokat.
@input
Varchar, nvarchar vagy varbináris.
'Bemenet'
Megad egy kifejezést, amely egy hashelendő karakterre vagy bináris stringre értékel.
A kimenet megfelel az algoritmus szabványának: 128 bit (16 bájt) MD2, MD4 és MD5 esetén; 160 bit (20 bájt) a SHA és SHA1 számára; 256 bit (32 bájt) SHA2_256 és 512 bit (64 bájt) SHA2_512.
Érvényes: SQL Server 2012 (11.x) és újabb verziókra
SQL Server 2014 (12.x) és korábbi verzióknál az engedélyezett bemeneti értékek 8000 bájtra korlátozottak.
Visszaadott érték
varbináris (maximum 8000 bájt)
Megjegyzések
Fontold meg az vagy BINARY_CHECKSUM alternatívák CHECKSUM használatát egy hash érték kiszámítására.
Az MD2, MD4, MD5, SHA és SHA1 algoritmusok az SQL Server 2016 (13.x) megjelenésétől kezdve elavulttá váltak. Használjon inkább SHA2_256 vagy SHA2_512. A régebbi algoritmusok továbbra is működnek, de elavúsítási eseményt indítanak.
Példák
Adja vissza egy változó hash-jét
A következő példa adja vissza a SHA2_256változóban tárolt nvarchar adatok @HashThishash-jét.
DECLARE @HashThis NVARCHAR(32);
SET @HashThis = CONVERT(NVARCHAR(32),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA2_256', @HashThis);
Adja vissza egy táblázatoszlop hash-jét
A következő példa a táblázat Test1oszlopában c1 szereplő értékek SHA2_256 hash-jét adja vissza.
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;
Itt van az eredmények összessége.
-------------------------------------------
0x741238C01D9DB821CF171BF61D72260B998F7C7881D90091099945E0B9E0C2E3
0x91DDCC41B761ACA928C62F7B0DA61DC763255E8247E0BD8DCE6B22205197154D
(2 row(s) affected)
Lásd még:
Válassz egy titkosítási algoritmustCHECKSUM_AGG (Transact-SQL)CHECKSUM (Transact-SQL)BINARY_CHECKSUM (Transact-SQL)