DECRYPTBYASYMKEY (Transact-SQL)
Decrittografa i dati con una chiave asimmetrica.
Sintassi
DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext }
[ , 'Asym_Key_Password' ] )
Argomenti
Asym_Key_ID
ID di una chiave asimmetrica nel database. Asym_Key_ID è di tipo int.ciphertext
Stringa di dati che è stata crittografata con la chiave asimmetrica.@ciphertext
Variabile di tipo varbinary contenente dati crittografati con la chiave asimmetrica.Asym_Key_Password
Password utilizzata per crittografare la chiave asimmetrica nel database.
Tipi restituiti
varbinary con un valore massimo di 8.000 byte.
Osservazioni
La crittografia/decrittografia con chiave asimmetrica è molto costosa rispetto alla crittografia/decrittografia con chiave simmetrica. Non è consigliabile utilizzare una chiave asimmetrica quando si lavora con set di dati di grandi dimensioni, ad esempio i dati utente contenuti nelle tabelle.
Autorizzazioni
È richiesta l'autorizzazione CONTROL per la chiave asimmetrica.
Esempi
Nell'esempio seguente viene decrittografato il testo crittografato con la chiave asimmetrica JanainaAsymKey02, archiviata in AdventureWorks2008R2.ProtectedData04. I dati restituiti vengono decrittografati tramite la chiave asimmetrica JanainaAsymKey02, che è stata a sua volta decrittografata con la password pGFD4bb925DGvbd2439587y. Il testo decrittografato viene quindi convertito nel tipo 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