DecryptByCert (Transact-SQL)
Entschlüsselt Daten mithilfe des privaten Schlüssels eines Zertifikats.
Transact-SQL-Syntaxkonventionen
Syntax
DecryptByCert (
certificate_ID ,
{ 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ]
)
Argumente
- certificate_ID
Die ID eines Zertifikats in der Datenbank. int.
- ciphertext
Eine Datenzeichenfolge, die mithilfe des öffentlichen Schlüssels des Zertifikats verschlüsselt wurde.
- @ciphertext
Eine Variable vom Datentyp varbinary, in der die mit dem Zertifikat verschlüsselten Daten enthalten sind.
- cert_password
Das Kennwort, das zum Verschlüsseln des privaten Schlüssels des Zertifikats verwendet wurde. Muss Unicode sein.
- @cert_password
Eine Variable vom Typ nchar oder nvarchar, die das Kennwort enthält, mit dem der private Schlüssel des Zertifikats verschlüsselt wurde. Muss Unicode sein.
Rückgabetypen
varbinary mit einer maximalen Größe von 8.000 Bytes.
Hinweise
Diese Funktion entschlüsselt Daten mithilfe des privaten Schlüssels eines Zertifikats. Kryptografische Umwandlungen, die asymmetrische Schlüssel verwenden, nehmen umfangreiche Ressourcen in Anspruch. Daher sind EncryptByCert und DecryptByCert für die Routineverschlüsselung von Benutzerdaten nicht geeignet.
Beispiele
Im folgenden Beispiel werden in [AdventureWorks].[ProtectedData04]
Zeilen ausgewählt, die als data encrypted by certificate JanainaCert02
markiert sind. Im Beispiel wird der verschlüsselte Text mithilfe des privaten Schlüssels des Zertifikats JanainaCert02
entschlüsselt, das zuerst mithilfe des Kennwortes pGFD4bb925DGvbd2439587y
des Zertifikats entschlüsselt wird. Die entschlüsselten Daten werden von varbinary in nvarchar konvertiert.
SELECT convert(nvarchar(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
Siehe auch
Verweis
EncryptByCert (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)