DECRYPTBYASYMKEY (Transact-SQL)
Descifra datos con una clave asimétrica.
Sintaxis
DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext }
[ , 'Asym_Key_Password' ] )
Argumentos
Asym_Key_ID
Es el identificador de una clave asimétrica en la base de datos. Asym_Key_ID es int.ciphertext
Cadena de datos cifrados con la clave asimétrica.@ciphertext
Variable de tipo varbinary que contiene datos cifrados con la clave asimétrica.Asym_Key_Password
Contraseña utilizada para cifrar la clave asimétrica en la base de datos.
Tipos de valor devueltos
varbinary con un tamaño máximo de 8.000 bytes.
Notas
EL cifrado/descifrado con una clave asimétrica es muy costoso si lo comparamos con el cifrado/descifrado con una clave simétrica. No es recomendable el uso de una clave asimétrica cuando trabaje con grandes conjuntos de datos, por ejemplo, datos de usuario en las tablas.
Permisos
Se requiere el permiso CONTROL sobre la clave asimétrica.
Ejemplos
En el ejemplo siguiente se descifra texto cifrado con la clave asimétrica JanainaAsymKey02, almacenada en AdventureWorks.ProtectedData04. Los datos devueltos se descifran con la clave asimétrica JanainaAsymKey02, que se ha descifrado con la contraseña pGFD4bb925DGvbd2439587y. El texto simple se convierte al 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