Compartir vía


ENCRYPTBYCERT (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance

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

Convenciones 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
Una variable de uno de los siguientes tipos que contiene datos que se cifrarán con la clave pública del certificado:

  • nvarchar
  • char
  • varchar
  • binary
  • varbinary
  • nchar

Tipos de valor devuelto

varbinary con un tamaño máximo de 8000 bytes.

Comentarios

Esta función cifra los datos con la clave pública del certificado. El texto cifrado solo puede descifrarse con la correspondiente clave privada. Estas transformaciones asimétricas son muy costosas en comparación con el cifrado y el descifrado mediante una clave simétrica. Por lo tanto, no se recomienda el cifrado asimétrico cuando se trabaja con grandes conjuntos de datos.

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 [AdventureWorks2022].[ProtectedData04]   
    VALUES ( N'Data encrypted by certificate ''Shipping04''',  
    EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );  
GO  

Vea también

DECRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
Jerarquía de cifrado