Condividi tramite


DECRYPTBYASYMKEY (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure

Questa funzione usa una chiave asimmetrica per decrittografare i dati crittografati.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

Asym_Key_ID
ID di una chiave asimmetrica nel database. Asym_Key_ID ha un tipo di dati int.

ciphertext
Stringa di dati crittografata con la chiave asimmetrica.

@ciphertext
Variabile di tipo varbinary contenente dati crittografati con la chiave asimmetrica.

Asym_Key_Password
Password usata per crittografare la chiave asimmetrica nel database.

Tipi restituiti

varbinary con un valore massimo di 8.000 byte.

Osservazioni:

Rispetto alla crittografia simmetrica / decrittografia, la crittografia con chiave asimmetrica / decrittografia ha un costo elevato. Quando si lavora con set di dati di grandi dimensioni, ad esempio nel caso di dati dell'utente archiviati in tabelle, è consigliabile che gli sviluppatori evitino la crittografia con chiave asimmetrica / decrittografia.

Autorizzazioni

DECRYPTBYASYMKEY richiede l'autorizzazione CONTROL per la chiave asimmetrica.

Esempi

In questo esempio viene decrittografato il testo originariamente crittografato con la chiave asimmetrica JanainaAsymKey02. AdventureWorks2022.ProtectedData04 ha archiviato tale chiave asimmetrica. Nell'esempio sono stati decrittografati i dati restituiti con la chiave asimmetrica JanainaAsymKey02. Nell'esempio è stata usata la password pGFD4bb925DGvbd2439587y per decrittografare la chiave asimmetrica. Nell'esempio il testo non crittografato restituito è stato convertito al tipo nvarchar.

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

Vedi anche

ENCRYPTBYASYMKEY (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Scelta di un algoritmo di crittografia
Gerarchia di crittografia