Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Bir şifreyi hash eder ve bu hash'i mevcut bir şifrenin hash'iyle karşılaştırır. PWDCOMPR, boş SQL Server giriş şifrelerini veya yaygın zayıf şifreleri aramak için kullanılabilir.
Transact-SQL söz dizimi kuralları
Sözdizimi
PWDCOMPARE ( 'clear_text_password'
, password_hash
[ , version ] )
Arguments
'clear_text_password'
Şifresiz şifre.
clear_text_passwordSysname'dir (nvarchar(128)).
password_hash
Bir şifrenin şifreleme hash'ıdır.
password_hashvarbinar(128)'dir.
version
Eğer SQL Server 2000 (8.x) öncesinde SQL Server 2005 (9.x) veya daha sonrasına taşınmış ancak SQL Server 2000 (8.x) sistemine dönüştürülmemiş bir girişten gelen değeri temsil ediyorsa password_hash 1 olarak ayarlanabilen eski bir parametre.
versiyonuint.
Dikkat
Bu parametre geriye doğru uyumluluk için sağlanmıştır, ancak şifre hash blob'larının artık kendi sürüm açıklamalarını içermesi nedeniyle göz ardı edilir. Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.
Dönüş Türleri
int
clear_text_password'nin hash'i password_hash parametreyle eşleşiyorsa 1, karşılamazsa 0 döndürür.
Açıklamalar
PWDCOMPARE fonksiyonu, şifre hash'larının gücüne tehdit oluşturmaz çünkü aynı test, ilk parametre olarak verilen şifreyle giriş yapmaya çalışarak yapılabilir.
PWDCOMPR , içinde bulunan veritabanı kullanıcılarının şifreleriyle kullanılamaz. Bir veritabanı karşılığı yoktur.
Permissions
PWDENCRYPT halka açıktır.
sys.sql_logins'inpassword_hash sütununu incelemek için:
- SQL Server 2019 (15.x) ve önceki sürümler için CONTROL SERVER izni gereklidir.
- SQL Server 2022 (16.x) ve sonraki sürümler için, VIEW ANY CRYPTOGRAPHICALLY SECURED TANIM'ı izni gereklidir.
Örnekler
A. Şifresiz girişleri tanımlama
Aşağıdaki örnek, şifresi olmayan SQL Server girişlerini tanımlar.
SELECT name FROM sys.sql_logins
WHERE PWDCOMPARE('', password_hash) = 1 ;
B. Yaygın şifreleri arıyor
Tanımlamak ve değiştirmek istediğiniz yaygın şifreleri aramak için, şifreyi ilk parametre olarak belirtin. Örneğin, aşağıdaki ifadeyi çalıştırarak 'de belirtilen bir şifre passwordarayın.
SELECT name FROM sys.sql_logins
WHERE PWDCOMPARE('password', password_hash) = 1 ;
İlgili içerik
PWDENCRYPT (Transact-SQL)
Güvenlik İşlevleri (Transact-SQL)
sys.sql_girişler (Transact-SQL)