ENCRYPTBYCERT (Transact-SQL)
Crittografa dati con la chiave pubblica di un certificato.
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 tipo nvarchar, char, varchar, binary, varbinary o nchar contenente dati da crittografare con la chiave pubblica del certificato.
Tipi restituiti
varbinary con dimensioni massime pari a 8.000 byte.
Osservazioni
Questa funzione crittografa 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 a livello di risorse rispetto alla crittografia e alla decrittografia con una chiave simmetrica. La crittografia asimmetrica non è pertanto consigliabile in caso di utilizzo di set di dati di grandi dimensioni, ad esempio i dati utente nelle tabelle.
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 [AdventureWorks].[ProtectedData04]
values( N'data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO