Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-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)