Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Hasht een wachtwoord en vergelijkt de hash met de hash van een bestaand wachtwoord. PWDCOMPARE kan worden gebruikt om te zoeken naar lege SQL Server-loginwachtwoorden of veelvoorkomende zwakke wachtwoorden.
Transact-SQL syntaxis-conventies
Syntaxis
PWDCOMPARE ( 'clear_text_password'
, password_hash
[ , version ] )
Arguments
'clear_text_password'
Is het onversleutelde wachtwoord.
clear_text_password is sysnaam (nvarchar(128)).
password_hash
Is de encryptiehash van een wachtwoord.
password_hash is varbinair(128).
version
Verouderde parameter die op 1 kan worden gezet als password_hash een waarde vertegenwoordigt van een inlog eerder dan SQL Server 2000 (8.x) die is geïmporteerd naar SQL Server 2005 (9.x) of later, maar nooit is omgezet naar het SQL Server 2000 (8.x) systeem.
De versie is Int.
Waarschuwing
Deze parameter wordt geleverd voor achterwaartse compatibiliteit, maar wordt genegeerd omdat wachtwoordhashblobs nu hun eigen versiebeschrijvingen bevatten. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Retourtypen
int
Geeft 1 terug als de hash van de clear_text_password overeenkomt met de password_hash-parameter , en 0 als dat niet zo is.
Opmerkingen
De PWDVERGELIJKFUNCTIE vormt geen bedreiging voor de sterkte van wachtwoordhashes, omdat dezelfde test uitgevoerd kan worden door in te loggen met het wachtwoord dat als eerste parameter wordt opgegeven.
PWDCOMPARE kan niet worden gebruikt met de wachtwoorden van gebruikers van de opgenomen database. Er is geen equivalent van een besloten database.
Permissions
PWDENCRYPT is openbaar beschikbaar.
Om de password_hash kolom van sys.sql_logins te bekijken:
- Voor SQL Server 2019 (15.x) en eerdere versies is de CONTROL SERVER-machtiging vereist.
- Voor SQL Server 2022 (16.x) en latere versies is de toestemming VIEW ANY CRYPTOGRAPHICALLY SECURED DEFINITION vereist.
Voorbeelden
Eén. Inloggegevens identificeren zonder wachtwoorden
Het volgende voorbeeld identificeert SQL Server-logins zonder wachtwoorden.
SELECT name FROM sys.sql_logins
WHERE PWDCOMPARE('', password_hash) = 1 ;
B. Zoeken naar veelvoorkomende wachtwoorden
Om te zoeken naar veelvoorkomende wachtwoorden die je wilt identificeren en wijzigen, geef je het wachtwoord als eerste parameter op. Voer bijvoorbeeld de volgende instructie uit om te zoeken naar een wachtwoord dat is gespecificeerd als password.
SELECT name FROM sys.sql_logins
WHERE PWDCOMPARE('password', password_hash) = 1 ;
Verwante inhoud
PWDENCRYPT (Transact-SQL)
beveiligingsfuncties (Transact-SQL)
sys.sql_logins (Transact-SQL)