DEKRYPTERINGSBYPASSFRAS (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Denna funktion dekrypterar data som ursprungligen krypterats med en lösenfras.

Transact-SQL syntaxkonventioner

Syntax

DecryptByPassPhrase ( { 'passphrase' | @passphrase }   
    , { 'ciphertext' | @ciphertext }  
  [ , { add_authenticator | @add_authenticator }  
    , { authenticator | @authenticator } ] )  

Arguments

Lösenfras
Passfrasen som används för att generera dekrypteringsnyckeln.

@passphrase
En variabel av typen char, nchar, nvarchar eller varchar som innehåller lösenfrasen som används för att generera dekrypteringsnyckeln.

"chiffertext"
Datasträngen som krypteras med nyckeln. chiffertext har en varbinär datatyp.

@ciphertext
En variabel av typen varbinary som innehåller data som krypterats med nyckeln. Variabeln @ciphertext har en maximal storlek på 8 000 byte.

add_authenticator
Anger om den ursprungliga krypteringsprocessen inkluderade och krypterade en autentisering tillsammans med klartext. add_authenticator har värdet 1 om krypteringsprocessen använde en autentisering. add_authenticator har en int-datatyp .

@add_authenticator
En variabel som anger om den ursprungliga krypteringsprocessen inkluderade och krypterade en autentisering tillsammans med klartext. Är @add_authenticator har värdet 1 om krypteringsprocessen använde en autentisator. @add_authenticator har en int-datatyp .

autentiserare
De data som används som grund för autentiseringsgenereringen. authenticator har en datatyp för sysname .

@authenticator
En variabel som innehåller data som används som grund för genereringen av autentisatorerna. @authenticator har datatypen sysname .

Returtyper

varbinary, med en maximal storlek på 8 000 byte.

Anmärkningar

DECRYPTBYPASSPHRASE kräver inga behörigheter för att köras. DECRYPTBYPASSPHRASE returnerar NULL om den får fel lösenfras eller fel autentiseringsinformation.

DECRYPTBYPASSPHRASE använder lösenfrasen för att generera en dekrypteringsnyckel. Denna dekrypteringsnyckel kommer inte att besto.

Om en autentisator fanns med vid tiden för krypteringen DECRYPTBYPASSPHRASE måste samma autentisering tas emot för dekrypteringsprocessen. Om autentiseringsvärdet som angavs för dekrypteringsprocessen inte matchar det autentisatorvärde som ursprungligen användes för att kryptera datan, kommer operationen DECRYPTBYPASSPHRASE att misslyckas.

Examples

Detta exempel dekrypterar posten som uppdateras i 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  

Se även

Välj en krypteringsalgoritm
ENCRYPTBYPASSPHRASE (Transact-SQL)