DECRYPTBYASYMKEY (Transact-SQL)
Descriptografa dados com uma chave assimétrica.
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