DECRYPTBYPASSPHRASE (Transact-SQL)

Entschlüsselt Daten, die mit einer Passphrase verschlüsselt wurden.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • passphrase
    Die Passphrase, die zum Generieren des Schlüssels für die Entschlüsselung verwendet wird.

  • @passphrase
    Eine Variable vom Typ nvarchar, char, varchar oder nchar, die die Passphrase enthält, die zum Generieren des Schlüssels für die Entschlüsselung verwendet wird.

  • 'ciphertext'
    Der zu entschlüsselnde verschlüsselte Text.

  • @ciphertext
    Eine Variable vom Typ varbinary, die den verschlüsselten Text enthält. Die maximale Größe beträgt 8.000 Bytes.

  • add_authenticator
    Gibt an, ob zusammen mit dem Nur-Text auch ein Authentifikator verschlüsselt wurde. Hat den Wert 1, wenn ein Authentifikator verwendet wurde. int.

  • @add\_authenticator
    Gibt an, ob zusammen mit dem Nur-Text auch ein Authentifikator verschlüsselt wurde. Hat den Wert 1, wenn ein Authentifikator verwendet wurde. int.

  • authenticator
    Die Authentifikatordaten. sysname.

  • @authenticator
    Eine Variable, die Daten enthält, von denen ein Authentifikator abgeleitet werden soll.

Rückgabetypen

varbinary mit einer maximalen Größe von 8.000 Bytes.

Hinweise

Zum Ausführen dieser Funktion sind keine Berechtigungen erforderlich.

Gibt NULL zurück, wenn der falsche Passphrase oder falsche Authentifikatorinformationen verwendet werden.

Die Passphrase wird zum Generieren eines Entschlüsselungsschlüssels verwendet, der nicht persistent ist.

Falls beim Verschlüsseln des verschlüsselten Texts ein Authentifikator eingeschlossen wurde, muss der Authentifikator zur Entschlüsselungszeit bereitgestellt werden. Falls der zur Entschlüsselungszeit bereitgestellte Authentifikatorwert nicht mit dem mit den Daten verschlüsselten Authentifikatorwert übereinstimmt, kann die Entschlüsselung nicht ausgeführt werden.

Beispiele

Im folgenden Beispiel wird der unter EncryptByPassPhrase aktualisierte Datensatz entschlüsselt.

USE AdventureWorks2012;
-- Get the pass phrase 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(nvarchar,
    DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1 
    , CONVERT(varbinary, CreditCardID)))
    AS 'Decrypted card number' FROM Sales.CreditCard 
    WHERE CreditCardID = '3681';
GO

Siehe auch

Verweis

ENCRYPTBYPASSPHRASE (Transact-SQL)

Konzepte

Auswählen eines Verschlüsselungsalgorithmus