DECRYPTBYASYMKEY (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
En esta función se usa una clave asimétrica para descifrar los datos cifrados.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext }
[ , 'Asym_Key_Password' ] )
Argumentos
Asym_Key_ID
Id. de una clave asimétrica en la base de datos. Asym_Key_ID tiene un tipo de datos int.
ciphertext
La cadena de datos cifrados con la clave asimétrica.
@ciphertext
Una variable de tipo varbinary que contiene los datos cifrados con la clave asimétrica.
Asym_Key_Password
La contraseña que se usa para cifrar la clave asimétrica en la base de datos.
Tipos de valor devuelto
varbinary, con un tamaño máximo de 8 000 bytes.
Observaciones
En comparación con el cifrado y descifrado simétricos, el cifrado y descifrado de claves asimétricas tiene un coste más elevado. Cuando se trabaja con grandes conjuntos de datos (por ejemplo, datos de usuario almacenados en tablas), se recomienda que los desarrolladores eviten el cifrado y descifrado de claves asimétricas.
Permisos
DECRYPTBYASYMKEY
requiere el permiso CONTROL en la clave asimétrica.
Ejemplos
En este ejemplo se descifra texto que originalmente se cifró con la clave asimétrica JanainaAsymKey02
. Esta clave asimétrica se almacenó en AdventureWorks2022.ProtectedData04
. En el ejemplo se descifran los datos devueltos con la clave asimétrica JanainaAsymKey02
. En el ejemplo se usa la contraseña pGFD4bb925DGvbd2439587y
para descifrar esta clave asimétrica. En el ejemplo se convierte el texto sin formato devuelto al 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 también
ENCRYPTBYASYMKEY (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Elegir un algoritmo de cifrado
Jerarquía de cifrado