Aracılığıyla paylaş


HASHBYTES (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

SQL Server'daki girişinin MD2, MD4, MD5, SHA, SHA1 veya SHA2 hash'ını döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

HASHBYTES ( '<algorithm>', { @input | 'input' } )  
  
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512   

Arguments

<algorithm>
Girişi hash yapmak için kullanılacak hashing algoritmasını belirler. Bu, varsayılan olmayan zorunlu bir argümandır. Tek tırnak işaretleri gereklidir. SQL Server 2016 (13.x) ile itibaren, SHA2_256 ve SHA2_512 dışındaki tüm algoritmalar kullanımdan kaldırılmıştır.

@input
Hash edilecek veriyi içeren bir değişkeni belirtir. @input varchar, nvarchar veya varbinary'dir.

'Girdi'
Bir karakter veya ikili diziyi haslama yapan bir ifade belirtir.

Çıktı algoritma standardına uygundur: MD2, MD4 ve MD5 için 128 bit (16 bayt); SHA ve SHA1 için 160 bit (20 bayt); SHA2_256 için 256 bit (32 bayt) ve SHA2_512 için 512 bit (64 bayt).

Geçerlidir: SQL Server 2012 (11.x) ve sonrası sürümler

SQL Server 2014 (12.x) ve daha öncesi için izin verilen giriş değerleri 8000 bayt ile sınırlıdır.

Dönüş Değeri

varbinary (maksimum 8000 bayt)

Açıklamalar

Bir hash değerini hesaplamak için alternatif olarak veya BINARY_CHECKSUM bunu düşününCHECKSUM.

MD2, MD4, MD5, SHA ve SHA1 algoritmaları SQL Server 2016 (13.x) ile itibaren kullanımdan çıkmıştır. Bunun yerine SHA2_256 veya SHA2_512 kullanın. Eski algoritmalar çalışmaya devam edecek, ancak bir kullanımdan kalma olayı başlatacaklar.

Örnekler

Bir değişkenin hash'ini döndür

Aşağıdaki örnekSHA2_256, değişkende @HashThisdepolanan nvarchar verisinin hash'ini döndürür.

DECLARE @HashThis NVARCHAR(32);  
SET @HashThis = CONVERT(NVARCHAR(32),'dslfdkjLK85kldhnv$n000#knf');  
SELECT HASHBYTES('SHA2_256', @HashThis);  

Bir tablo sütununun hash'ını döndürün

Aşağıdaki örnek, tablodaki Test1sütundaki c1 değerlerin SHA2_256 hash'ını döndürür.

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;  

Sonuç kümesi aşağıdadır.

-------------------------------------------  
0x741238C01D9DB821CF171BF61D72260B998F7C7881D90091099945E0B9E0C2E3 
0x91DDCC41B761ACA928C62F7B0DA61DC763255E8247E0BD8DCE6B22205197154D  
(2 row(s) affected)  

Ayrıca Bkz.

Bir Şifreleme AlgoritmasıSeçin CHECKSUM_AGG (Transact-SQL)CHECKSUM (Transact-SQL)BINARY_CHECKSUM (Transact-SQL)