Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Esta função utiliza a chave privada de um certificado para desencriptar dados encriptados.
Transact-SQL convenções de sintaxe
Sintaxe
DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ] )
Arguments
certificate_ID
O ID de um certificado na base de dados.
certificate_ID tem um tipo de dado int .
texto cifrado
A cadeia de dados encriptada com a chave pública do certificado.
@ciphertext
Uma variável do tipo varbinary contendo dados encriptados com o certificado.
cert_password
A senha usada para criptografar a chave privada do certificado.
cert_password deve ter um formato de dados Unicode.
@cert_password
Uma variável do tipo nchar ou nvarchar contendo a palavra-passe usada para encriptar a chave privada do certificado.
@cert_password deve ter um formato de dados Unicode.
Tipos de devolução
varbinary, com um tamanho máximo de 8.000 bytes.
Observações
Esta função desencripta dados com a chave privada de um certificado. Transformações criptográficas que utilizam chaves assimétricas consomem recursos significativos. Por isso, sugerimos que os programadores evitem o uso de ENCRYPTBYCERT e DECRYPTBYCERT para encriptação/desencriptação rotineira de dados de utilizador.
Permissions
DECRYPTBYCERT requer permissão CONTROL no certificado.
Examples
Este exemplo seleciona linhas de [AdventureWorks2022].[ProtectedData04] dados marcados como originalmente encriptados por certificado JanainaCert02. O exemplo primeiro desencripta a chave privada do certificado JanainaCert02 com a palavra-passe do certificado pGFD4bb925DGvbd2439587y. Depois, o exemplo desencripta o texto cifrado com esta chave privada. O exemplo converte os dados desencriptados de varbinary para nvarchar.
SELECT CONVERT(NVARCHAR(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2022].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
Ver também
ENCRYPTBYCERT (Transact-SQL)
CRIAR CERTIFICADO (Transact-SQL)
CERTIFICADO ALTER (Transact-SQL)
CERTIFICADO DE DESISTÊNCIA (Transact-SQL)
CERTIFICADO DE CÓPIA DE SEGURANÇA (Transact-SQL)
Hierarquia de criptografia