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
Deze functie ontsleutelt gegevens die oorspronkelijk met een wachtwoord zijn versleuteld.
Transact-SQL syntaxis-conventies
Syntaxis
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Arguments
Wachtwoord
De wachtwoordzin die wordt gebruikt om de decryptiesleutel te genereren.
@passphrase
Een variabele van het type char, nchar, nvarchar of varchar die de wachtwoordzin bevat die werd gebruikt om de decryptiesleutel te genereren.
'coderingstekst'
De tekenreeks met gegevens die zijn versleuteld met de sleutel.
ciphertext heeft een varbinary-gegevenstype .
@ciphertext
Een variabele van het type varbinary die gegevens bevat die zijn versleuteld met de sleutel. De @ciphertext variabele heeft een maximale grootte van 8.000 bytes.
add_authenticator
Geeft aan of het oorspronkelijke versleutelingsproces is opgenomen en versleuteld, een verificator samen met de tekst zonder opmaak.
add_authenticator heeft de waarde 1 als het versleutelingsproces een verificator heeft gebruikt.
add_authenticator heeft een gegevenstype int .
@add_authenticator
Een variabele die aangeeft of het oorspronkelijke versleutelingsproces is opgenomen en versleuteld, een verificator samen met de tekst zonder opmaak. Is @add_authenticator een waarde van 1 heeft als het encryptieproces een authenticator gebruikte.
@add_authenticator heeft een gegevenstype int .
Verificator
De gegevens die worden gebruikt als basis voor het genereren van de verificator.
authenticator heeft een sysname-gegevenstype .
@authenticator
Een variabele met gegevens die als basis diende voor het genereren van de authenticators.
@authenticator heeft een sysname-gegevenstype .
Retourtypen
varbinary, met een maximale grootte van 8.000 bytes.
Opmerkingen
DECRYPTBYPASSPHRASE vereist geen rechten voor de uitvoering ervan.
DECRYPTBYPASSPHRASE geeft NULL terug als het de verkeerde toegangszin of de verkeerde authenticatorinformatie ontvangt.
DECRYPTBYPASSPHRASE gebruikt de wachtwoordzin om een ontsleutelsleutel te genereren. Deze decryptiesleutel blijft niet behouden.
Als er op het moment van de ciphertext-encryptie een authenticator aanwezig was, DECRYPTBYPASSPHRASE moet diezelfde authenticator ontvangen voor het ontsleutelingsproces. Als de authenticatorwaarde die voor het ontsleutelingsproces is verstrekt niet overeenkomt met de authenticatorwaarde die oorspronkelijk is gebruikt om de data te versleutelen, zal de DECRYPTBYPASSPHRASE operatie mislukken.
Voorbeelden
Dit voorbeeld ontsleutelt het record dat is bijgewerkt in EncryptByPassPhrase.
USE AdventureWorks2022;
-- Get the passphrase from the user.
DECLARE @PassphraseEnteredByUser NVARCHAR(128);
SET @PassphraseEnteredByUser
= 'A little learning is a dangerous thing!';
-- Decrypt the encrypted record.
SELECT CardNumber, CardNumber_EncryptedbyPassphrase
AS 'Encrypted card number', CONVERT(varchar,
DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1
, CONVERT(varbinary, CreditCardID)))
AS 'Decrypted card number' FROM Sales.CreditCard
WHERE CreditCardID = '3681';
GO
Zie ook
Een versleutelingsalgoritmen kiezen
ENCRYPTBYPASSPHRASE (Transact-SQL)