Sdílet prostřednictvím


DECRYPTBYPASSWORD: (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Tato funkce dešifruje data původně zašifrovaná heslem.

Transact-SQL konvence syntaxe

Syntaxe

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

Arguments

Heslo
Heslo používané k vygenerování dešifrovacího klíče.

@passphrase
Proměnná typu char, nchar, nvarchar nebo varchar obsahující heslo použité k vygenerování dešifrovacího klíče.

Šifrový text
Řetězec dat zašifrovaný klíčem. šiferný textvarbinární datový typ.

@ciphertext
Proměnná typu varbinary obsahující data zašifrovaná klíčem. Proměnná @ciphertext má maximální velikost 8 000 bajtů.

add_authenticator
Určuje, jestli byl původní proces šifrování zahrnutý a zašifrovaný ověřovací objekt společně s prostým textem. add_authenticator má hodnotu 1, pokud proces šifrování použil ověřovací program. add_authenticator má datový typ int .

@add_authenticator
Proměnná označující, jestli byl původní proces šifrování zahrnutý a zašifrovaný, ověřovací objekt společně s prostým textem. Je @add_authenticator má hodnotu 1, pokud šifrovací proces použil autentizátor. @add_authenticator má datový typ int .

autentikátor
Data používaná jako základ pro generování ověřovacího objektu. authenticator má datový typ sysname .

@authenticator
Proměnná obsahující data sloužící jako základ pro generování autentizátorů. @authenticator má datový typ sysname .

Návratové typy

varbinary, s maximální velikostí 8 000 bajtů.

Poznámky

DECRYPTBYPASSPHRASE pro jeho provádění nevyžaduje žádná oprávnění. DECRYPTBYPASSPHRASE vrátí NULL, pokud obdrží špatnou heslovou frázi nebo nesprávné informace o autentizátoru.

DECRYPTBYPASSPHRASE používá heslo k vytvoření dešifrovacího klíče. Tento dešifrovací klíč nebude přetrvávat.

Pokud byl autentizátor zahrnut v době šifrování šifrovaného textu, DECRYPTBYPASSPHRASE musí tento stejný autentizátor obdržet pro proces dešifrování. Pokud hodnota autentizátoru poskytnutá pro proces dešifrování neodpovídá hodnotě autentizátoru původně použité k zašifrování dat, DECRYPTBYPASSPHRASE operace selže.

Examples

Tento příklad dešifruje záznam aktualizovaný v 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  

Viz také

Volba šifrovacího algoritmu
ENCRYPTBYPASSWORDová fráze (Transact-SQL)