ENCRYPTBYASYMKEY (Transact-SQL)

Crittografa i dati con una chiave asimmetrica.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )

Argomenti

  • Asym_Key_ID
    ID di una chiave asimmetrica nel database. int.

  • cleartext
    Stringa di dati che verrà crittografata con la chiave asimmetrica.

  • @plaintext
    Variabile di tipo nvarchar, char, varchar, binary, varbinary o nchar contenente dati da crittografare con la chiave asimmetrica.

Tipi restituiti

varbinary con un valore massimo di 8.000 byte.

Osservazioni

La crittografia e la decrittografia con chiave asimmetrica sono estremamente costose rispetto alla crittografia e alla decrittografia con chiave simmetrica. È consigliabile non utilizzare una chiave asimmetrica per crittografare set di dati di grandi dimensioni, ad esempio i dati utente contenuti nelle tabelle. Crittografare invece i dati mediante una chiave simmetrica avanzata e crittografare la chiave simmetrica utilizzando una chiave asimmetrica.

Esempi

Nell'esempio seguente viene crittografato il testo archiviato in @cleartext con la chiave asimmetrica JanainaAsymKey02. I dati crittografati vengono quindi inseriti nella tabella ProtectedData04.

INSERT INTO [AdventureWorks2008R2].[Sales].[ProtectedData04] 
    values( N'data encrypted by asymmetric key ''JanainaAsymKey02''',
    EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) )
GO