ENCRYPTBYCERT (Transact-SQL)
Cifra datos con la clave pública de un certificado.
Sintaxis
EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )
Argumentos
certificate_ID
Id. de un certificado de la base de datos. int.cleartext
Cadena de datos que se cifrarán con el certificado.@cleartext
Es una variable de tipo nvarchar, char, varchar, binary, varbinary o nchar que contiene los datos que se cifrarán con la clave pública del certificado.
Tipos de valor devueltos
varbinary con un tamaño máximo de 8.000 bytes.
Notas
Esta función cifra datos con la clave pública de un certificado. El texto cifrado sólo puede descifrarse con la correspondiente clave privada. Dichas transformaciones asimétricas son muy costosas en comparación con el cifrado y el descifrado mediante una clave simétrica. Por ello, el cifrado asimétrico no se recomienda cuando se trabaja con conjuntos de datos grandes como datos de usuarios en tablas.
Ejemplos
En este ejemplo se cifra el texto simple almacenado en @cleartext con el certificado denominado JanainaCert02. Los datos cifrados se insertan en la tabla ProtectedData04.
INSERT INTO [AdventureWorks].[ProtectedData04]
values( N'data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO