Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Zwraca skrót MD2, MD4, MD5, SHA, SHA1 lub SHA2 swojego wejścia w SQL Serverze.
Transact-SQL konwencje składni
Składnia
HASHBYTES ( '<algorithm>', { @input | 'input' } )
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512
Arguments
<algorithm>
Identyfikuje algorytm haszujący, który ma być użyty do hashowania wejścia. To jest wymagany argument bez domyślności. Wymagane są pojedyncze cudzysłowy. Począwszy od SQL Server 2016 (13.x), wszystkie algorytmy poza SHA2_256 i SHA2_512 są wycofane.
@input
Określa zmienną zawierającą dane do haszu.
@input jest varchar, nvarchar lub varbinary.
'input'
Określa wyrażenie, które ewalduje do znaku lub ciągu binarnego do haszu.
Wynik jest zgodny ze standardem algorytmu: 128 bitów (16 bajtów) dla MD2, MD4 i MD5; 160 bitów (20 bajtów) dla SHA i SHA1; 256 bitów (32 bajty) dla SHA2_256 i 512 bitów (64 bajty) dla SHA2_512.
Dotyczy do: SQL Server 2012 (11.x) i nowszy
W SQL Server 2014 (12.x) i starszych dozwolone wartości wejściowe są ograniczone do 8000 bajtów.
Wartość zwracana
varbinary (maksymalnie 8000 bajtów)
Uwagi
Rozważ użycie CHECKSUM lub BINARY_CHECKSUM jako alternatywę do obliczenia wartości skrótu.
Algorytmy MD2, MD4, MD5, SHA i SHA1 są wycofane od SQL Server 2016 (13.x). Zamiast tego użyj SHA2_256 lub SHA2_512. Starsze algorytmy będą nadal działać, ale wywołają zdarzenie wycofania (deprecation).
Przykłady
Zwróć skrót zmiennej
Poniższy przykład zwraca SHA2_256 skrót danych nvarchar przechowywanych w zmiennej @HashThis.
DECLARE @HashThis NVARCHAR(32);
SET @HashThis = CONVERT(NVARCHAR(32),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA2_256', @HashThis);
Zwróć skrót kolumny tabeli
Poniższy przykład zwraca SHA2_256 skrót wartości w kolumnie c1 tabeli 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;
Oto zestaw wyników.
-------------------------------------------
0x741238C01D9DB821CF171BF61D72260B998F7C7881D90091099945E0B9E0C2E3
0x91DDCC41B761ACA928C62F7B0DA61DC763255E8247E0BD8DCE6B22205197154D
(2 row(s) affected)
Zobacz też
Wybierz algorytm szyfrowaniaCHECKSUM_AGG (Transact-SQL)CHECKSUM (Transact-SQL)BINARY_CHECKSUM (Transact-SQL)