DECRYPTBYASYMKEY (Transact-SQL)

Déchiffre les données à l'aide d'une clé asymétrique.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext } 
    [ , 'Asym_Key_Password' ] )

Arguments

  • Asym_Key_ID
    ID d'une clé asymétrique de la base de données. L'argument Asym_Key_ID est de type int.

  • ciphertext
    Chaîne de données chiffrée avec la clé asymétrique.

  • @ciphertext
    Variable de type varbinary contenant des données qui ont été chiffrées avec la clé asymétrique.

  • Asym_Key_Password
    Mot de passe utilisé pour chiffrer la clé asymétrique dans la base de données.

Types des valeurs renvoyées

Variable binaire varbinary de 8 000 octets au maximum.

Notes

Le chiffrement et le déchiffrement avec une clé asymétrique sont coûteux par rapport au chiffrement et au déchiffrement avec une clé symétrique. Il n'est pas recommandé d'utiliser une clé asymétrique avec des ensembles de données volumineux par exemple, avec des données utilisateur issues de tables.

Autorisations

Nécessite l'autorisation CONTROL sur la clé asymétrique.

Exemples

Le code exemple suivant déchiffre le texte chiffré avec la clé asymétrique JanainaAsymKey02, stockée dans AdventureWorks2008R2.ProtectedData04. Les données renvoyées sont déchiffrées à l'aide de la clé asymétrique JanainaAsymKey02, qui a été déchiffrée avec le mot de passe pGFD4bb925DGvbd2439587y. Le texte brut est converti en type nvarchar.

SELECT CONVERT(nvarchar(max),
    DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'), 
    ProtectedData, N'pGFD4bb925DGvbd2439587y' )) 
AS DecryptedData 
FROM [AdventureWorks2008R2].[Sales].[ProtectedData04] 
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';
GO