Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
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)
CREA UN CERTIFICATO (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
CERTIFICATO DI ABBANDONAZIONE (Transact-SQL)
CERTIFICATO DI BACKUP (Transact-SQL)
Gerarchia di crittografia