Condividi tramite


ENCRYPTBYCERT (Transact-SQL)

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

Crittografa dati con la chiave pubblica di un certificato.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )  

Argomenti

certificate_ID
ID di un certificato nel database. int.

cleartext
Stringa di dati che verrà crittografata con il certificato.

@cleartext
Variabile di uno dei tipi seguenti contenente i dati che verranno crittografati con la chiave pubblica del certificato:

  • nvarchar
  • char
  • varchar
  • binary
  • varbinary
  • nchar

Tipi restituiti

varbinary con un valore massimo di 8.000 byte.

Osservazioni:

Questa funzione crittografa i dati con la chiave pubblica di un certificato. Il testo crittografato può essere decrittografato solo con la chiave privata corrispondente. Queste trasformazioni asimmetriche sono molto onerose rispetto alla crittografia e alla decrittografia con una chiave simmetrica. Di conseguenza, la crittografia asimmetrica non è consigliabile quando si usano set di dati di grandi dimensioni.

Esempi

Nell'esempio seguente il testo normale archiviato in @cleartext viene crittografato con il certificato denominato JanainaCert02. I dati crittografati vengono quindi inseriti nella tabella ProtectedData04.

INSERT INTO [AdventureWorks2022].[ProtectedData04]   
    VALUES ( N'Data encrypted by certificate ''Shipping04''',  
    EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );  
GO  

Vedi anche

DECRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
Gerarchia di crittografia