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 } )
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere Documentazione delle versioni precedenti.
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