Compartir a través de


ENCRYPTBYCERT (Transact-SQL)

Cifra datos con la clave pública de un certificado.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

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