DecryptByCert (Transact-SQL)
Descifra datos con la clave privada de un certificado.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DecryptByCert (
certificate_ID ,
{ 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ]
)
Argumentos
- certificate_ID
Es el Id. de un certificado de la base de datos. int.
- ciphertext
Es una cadena de datos que se ha cifrado con la clave pública del certificado.
- @ciphertext
Es una variable de tipo varbinary que contiene los datos que se han cifrado con el certificado.
- cert_password
Es la contraseña utilizada para cifrar la clave privada del certificado. Debe ser Unicode.
- @cert_password
Es una variable de tipo nchar o nvarchar que contiene la contraseña usada para cifrar la clave privada del certificado. Debe ser Unicode.
Tipos de valor devueltos
varbinary con un tamaño máximo de 8.000 bytes.
Notas
Esta función descifra datos con la clave privada de un certificado. Las transformaciones cifradas que utilizan claves asimétricas consumen gran cantidad de recursos. Por tanto, EncryptByCert y DecryptByCert no resultan adecuados para el cifrado rutinario de datos de usuario.
Ejemplos
En el ejemplo siguiente se seleccionan filas de [AdventureWorks].[ProtectedData04]
marcadas como data encrypted by certificate JanainaCert02
. En el ejemplo se descifra el texto cifrado con la clave privada del certificado JanainaCert02
, que se descifra previamente con la contraseña del certificado, pGFD4bb925DGvbd2439587y
. Los datos descifrados se convierten de varbinary en nvarchar.
SELECT convert(nvarchar(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
Vea también
Referencia
EncryptByCert (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)