DecryptByPassPhrase (Transact-SQL)
Entschlüsselt Daten, die mit einem Pass-Ausdruck verschlüsselt wurden.
Transact-SQL-Syntaxkonventionen
Syntax
DecryptByPassPhrase (
{ 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[
, { add_authenticator | @add_authenticator }
, { authenticator | @authenticator }
]
)
Argumente
- 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 den Pass-Ausdruck enthält, der 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 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.
Beispiele
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
Siehe auch
Verweis
EncryptByPassPhrase (Transact-SQL)
Andere Ressourcen
Auswählen eines Verschlüsselungsalgorithmus