Partilhar via


DECRYPTBYASYMKEY (Transact-SQL)

Descriptografa dados com uma chave assimétrica.

Ícone de vínculo de tópicoConvenções de sintaxe 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 é int.

  • ciphertext
    É uma cadeia de caracteres de dados que foi criptografada com a chave assimétrica.

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

  • Asym_Key_Password
    É a senha que foi usada para criptografar a chave assimétrica no banco de dados.

Tipos de retorno

varbinary com no máximo 8.000 bytes.

Comentários

A criptografia/descriptografia com uma chave assimétrica é muito dispendiosa em comparação a criptografia/descriptografia com uma chave simétrica. Não recomendamos o uso de uma chave assimétrica ao trabalhar com grandes conjuntos de dados, como os dados de usuário em tabelas.

Permissões

Requer a permissão CONTROL na chave assimétrica.

Exemplos

O exemplo a seguir descriptografa o texto cifrado que foi criptografado com a chave assimétrica JanainaAsymKey02, que foi armazenada em AdventureWorks.ProtectedData04. Os dados retornados são descriptografados com a chave assimétrica JanainaAsymKey02, que foi descriptografada com a senha pGFD4bb925DGvbd2439587y. O texto sem formatação é convertido no tipo nvarchar.

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