Partilhar via


DECRYPTBYASYMKEY (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Essa função usa uma chave simétrica para descriptografar dados criptografados.

Convenções de sintaxe de Transact-SQL

Sintaxe

DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext }   
    [ , 'Asym_Key_Password' ] )  

Argumentos

Asym_Key_ID
A ID de uma chave assimétrica no banco de dados. Asym_Key_ID tem um tipo de dados int.

ciphertext
A cadeia de caracteres de dados criptografados com a chave assimétrica.

@ciphertext
Uma variável do tipo varbinary que contém dados criptografados com a chave assimétrica.

Asym_Key_Password
A senha usada para criptografar a chave assimétrica no banco de dados.

Tipos de retorno

varbinary, com um tamanho máximo de 8.000 bytes.

Comentários

Compara com a criptografia/descriptografia simétrica, a criptografia/descriptografia de chave assimétrica tem um alto custo. Ao trabalhar com grandes conjuntos de dados, por exemplo, dados de usuário armazenados em tabelas, sugerimos que os desenvolvedores evitem a criptografia/descriptografia de chave assimétrica.

Permissões

DECRYPTBYASYMKEY requer a permissão CONTROL na chave assimétrica.

Exemplos

Este exemplo descriptografa o texto cifrado originalmente criptografado com a chave assimétrica JanainaAsymKey02. AdventureWorks2022.ProtectedData04 armazenava essa chave assimétrica. O exemplo descriptografou os dados retornados com a chave assimétrica JanainaAsymKey02. O exemplo usou a senha pGFD4bb925DGvbd2439587y para descriptografar a chave assimétrica. O exemplo converteu o texto não criptografado retornado no tipo nvarchar.

SELECT CONVERT(NVARCHAR(max),  
    DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'),   
    ProtectedData, N'pGFD4bb925DGvbd2439587y' ))   
AS DecryptedData   
FROM [AdventureWorks2022].[Sales].[ProtectedData04]   
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';  
GO  

Consulte Também

ENCRYPTBYASYMKEY (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Escolher um algoritmo de criptografia
Hierarquia de criptografia