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