War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
DECRYPTBYKEY (Transact-SQL)

DECRYPTBYKEY (Transact-SQL)

Verschlüsselt Daten mit einem symmetrischen Schlüssel.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


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

ciphertext

Die mit dem Schlüssel verschlüsselten Daten. ciphertext ist vom Datentyp varbinary.

@ciphertext

Eine Variable vom Datentyp varbinary, in der die mit dem Schlüssel verschlüsselten Daten enthalten sind.

add_authenticator

Gibt an, ob zusammen mit dem Nur-Text auch ein Authentifikator verschlüsselt wurde. Dies muss derselbe Wert sein, der beim Verschlüsseln der Daten an EncryptByKey übergeben wurde. add_authenticator ist vom Datentyp int.

authenticator

Die Daten, aus denen ein Authentifikator generiert werden soll. Dies muss derselbe Wert sein, der an EncryptByKey übergeben wurde. authenticator ist vom Datentyp sysname.

@authenticator

Eine Variable mit den Daten, aus denen ein Authentifikator generiert werden soll. Dies muss derselbe Wert sein, der an EncryptByKey übergeben wurde.

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

DecryptByKey verwendet einen symmetrischen Schlüssel. Dieser symmetrische Schlüssel muss bereits in der Datenbank geöffnet sein. Es können mehrere Schlüssel gleichzeitig geöffnet sein. Der Schlüssel muss nicht unmittelbar vor dem Entschlüsseln von verschlüsseltem Text geöffnet werden.

Die symmetrische Ver- und Entschlüsselung erfolgt relativ schnell und kann auch bei großen Datenmengen verwendet werden.

Erfordert, dass der symmetrische Schlüssel in der aktuellen Sitzung geöffnet wurde. Weitere Informationen finden Sie unter OPEN SYMMETRIC KEY (Transact-SQL).

A. Entschlüsseln von Daten mit einem symmetrischen Schlüssel

Im folgenden Beispiel wird verschlüsselter Text mit einem symmetrischen Schlüssel entschlüsselt.

-- First, open the symmetric key with which to decrypt the data.
OPEN SYMMETRIC KEY SSN_Key_01
   DECRYPTION BY CERTIFICATE HumanResources037;
GO

-- Now list the original ID, the encrypted ID, and the 
-- decrypted ciphertext. If the decryption worked, the original
-- and the decrypted ID will match.
SELECT NationalIDNumber, EncryptedNationalID 
    AS 'Encrypted ID Number',
    CONVERT(nvarchar, DecryptByKey(EncryptedNationalID)) 
    AS 'Decrypted ID Number'
    FROM HumanResources.Employee;
GO

B. Entschlüsseln von Daten mit einem symmetrischen Schlüssel und einem Authentifizierungshash

Im folgenden Beispiel werden Daten entschlüsselt, die zusammen mit einem Authentifikator verschlüsselt wurden.

-- First, open the symmetric key with which to decrypt the data
OPEN SYMMETRIC KEY CreditCards_Key11
   DECRYPTION BY CERTIFICATE Sales09;
GO

-- Now list the original card number, the encrypted card number,
-- and the decrypted ciphertext. If the decryption worked, 
-- the original number will match the decrypted number.
SELECT CardNumber, CardNumber_Encrypted 
    AS 'Encrypted card number', CONVERT(nvarchar,
    DecryptByKey(CardNumber_Encrypted, 1 , 
    HashBytes('SHA1', CONVERT(varbinary, CreditCardID)))) 
    AS 'Decrypted card number' FROM Sales.CreditCard;
GO

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft