Megosztás a következőn keresztül:


DECRYPTBYPASSPHRASE (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Ez a funkció dekódolja az eredetileg jelszóval titkosított adatokat.

Transact-SQL szintaxis konvenciók

Szemantika

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

Arguments

jelszó
A jelszó, amelyet a dekódolási kulcs generálásához használnak.

@passphrase
Char ,nchar, nvarchar vagy varchar típusú változó, amely tartalmazza a jelszót, amelyből a kódkódolási kulcs generálható.

"ciphertext"
A kulccsal titkosított adatok sztringje. a rejtjelszövegvarbináris adattípussal rendelkezik.

@ciphertext
A kulccsal titkosított adatokat tartalmazó varbináris típusú változó. A @ciphertext változó maximális mérete 8 000 bájt.

add_authenticator
Azt jelzi, hogy az eredeti titkosítási folyamat tartalmazott-e és titkosított-e egy hitelesítőt az egyszerű szöveggel együtt. add_authenticator értéke 1, ha a titkosítási folyamat hitelesítőt használt. add_authenticatorint adattípussal rendelkezik.

@add_authenticator
Egy változó, amely azt jelzi, hogy az eredeti titkosítási folyamat tartalmazott-e és titkosított-e egy hitelesítőt az egyszerű szöveggel együtt. Az @add_authenticator értéke 1, ha a titkosítási folyamat autentifikátort használt. @add_authenticatorint adattípussal rendelkezik.

Hitelesítő
A hitelesítő létrehozásának alapjaként használt adatok. az authenticatorsysname adattípussal rendelkezik.

@authenticator
Egy változó, amely adatokat tartalmaz, és amelyet az autentifikátorok generálásának alapjaként használnak. @authenticatorsysname adattípussal rendelkezik.

Visszatérési típusok

varbinary, legfeljebb 8000 bájt mérettel.

Megjegyzések

DECRYPTBYPASSPHRASE nem igényel engedélyt a végrehajtáshoz. DECRYPTBYPASSPHRASE NULL értéket ad vissza, ha rossz jelszót vagy rossz hitelesítési információt kap.

DECRYPTBYPASSPHRASE a jelszót használja a dekódolási kulcs generálásához. Ez a visszafejtési kulcs nem marad fenn.

Ha a titkosítás idején egy autentifikátor szerepelt, DECRYPTBYPASSPHRASE akkor ugyanazt a hitelesítőt kell megkapnia a dekódolási folyamathoz. Ha a dekódolási folyamathoz megadott hitelesítő érték nem egyezik meg az eredetileg titkosított hitelesítési értékkel, a DECRYPTBYPASSPHRASE művelet megbukik.

Példák

Ez a példa az EncryptByPassPhrase-ben frissített rekordot fejti le.

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  

Lásd még:

Titkosítási algoritmus kiválasztása
ENCRYPTBYPASSPHRASE (Transact-SQL)