DECRYPTBYPASSPHRASE (Transact-SQL)
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

DECRYPTBYPASSPHRASE (Transact-SQL)

Entschlüsselt Daten, die mit einem Pass-Ausdruck verschlüsselt wurden.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


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

passphrase

Der Pass-Ausdruck, der 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.

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

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 Textes 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.

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

USE AdventureWorks;
-- 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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2016 Microsoft