DECRYPTBYCERT (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Essa função usa a chave privada de um certificado para descriptografar dados criptografados.
Convenções de sintaxe de Transact-SQL
Sintaxe
DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ] )
Argumentos
certificate_ID
A ID de um certificado no banco de dados. certificate_ID tem um tipo de dados int.
ciphertext
A cadeia de caracteres de dados criptografados com a chave pública do certificado.
@ciphertext
Uma variável do tipo varbinary que contém dados criptografados 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 que contém a senha usada para criptografar a chave privada do certificado. @cert_password deve ter um formato de dados Unicode.
Tipos de retorno
varbinary, com um tamanho máximo de 8.000 bytes.
Comentários
Essa função descriptografa dados com a chave privada de um certificado. As transformações criptográficas que usam chaves assimétricas consomem recursos significativos. Portanto, sugerimos que os desenvolvedores evitem o uso de ENCRYPTBYCERT e de DECRYPTBYCERT para criptografia/descriptografia de dados do usuário de rotina.
Permissões
DECRYPTBYCERT
requer a permissão CONTROL no certificado.
Exemplos
Este exemplo seleciona linhas de [AdventureWorks2022].[ProtectedData04]
marcadas como dados originalmente criptografados pelo certificado JanainaCert02
. Primeiro o exemplo descriptografa a chave privada do certificado JanainaCert02
com a senha do certificado pGFD4bb925DGvbd2439587y
. Em seguida, o exemplo descriptografa o texto cifrado com essa chave privada. O exemplo converte os dados descriptografados de varbinary em nvarchar.
SELECT CONVERT(NVARCHAR(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2022].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
Consulte Também
ENCRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
Hierarquia de criptografia