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 Passphase, 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 Pass-Ausdruck oder falsche Authentifikatorinformationen verwendet werden.

Der Pass-Ausdruck wird zum Generieren eines Entschlüsselungsschlüssels verwendet, der nicht permanent 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 AdventureWorks2008R2;
-- 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