DECRYPTBYCERT (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Questa funzione usa la chiave privata di un certificato per decrittografare i dati crittografati.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ] )
Argomenti
certificate_ID
ID di un certificato nel database. certificate_ID ha un tipo di dati int.
ciphertext
Stringa di dati crittografata tramite la chiave pubblica del certificato.
@ciphertext
Variabile di tipo varbinary contenente dati crittografati con il certificato.
cert_password
Password usata per crittografare la chiave privata del certificato. cert_password deve avere un formato di dati Unicode.
@cert_password
Variabile di tipo nchar o nvarchar contenente la password usata per crittografare la chiave privata del certificato. @cert_password deve avere un formato di dati Unicode.
Tipi restituiti
varbinary con un valore massimo di 8.000 byte.
Osservazioni:
Questa funzione decrittografa dati tramite la chiave privata di un certificato. Le trasformazioni di crittografia tramite chiavi asimmetriche richiedono una quantità elevata di risorse. È consigliabile pertanto che gli sviluppatori evitino l'uso di ENCRYPTBYCERT e DECRYPTBYCERT per la crittografia / decrittografia di routine dei dati degli utenti.
Autorizzazioni
DECRYPTBYCERT
richiede l'autorizzazione CONTROL per il certificato.
Esempi
In questo esempio vengono selezionate le righe da [AdventureWorks2022].[ProtectedData04]
contrassegnate come dati originariamente crittografati dal certificato JanainaCert02
. Nell'esempio viene prima decrittografata la chiave privata del certificato JanainaCert02
con la password del certificato pGFD4bb925DGvbd2439587y
. Viene quindi decrittografato il testo con questa chiave privata. Nell'esempio i dati decrittografati vengono convertiti da varbinary a nvarchar.
SELECT CONVERT(NVARCHAR(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2022].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
Vedi anche
ENCRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
Gerarchia di crittografia