Partilhar via


ENCRYPTBYCERT (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Encripta dados com a chave pública de um certificado.

Transact-SQL convenções de sintaxe

Sintaxe

EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )  

Arguments

certificate_ID
O ID de um certificado na base de dados. int.

Texto claro
Uma cadeia de dados que será encriptada com o certificado.

@cleartext
Uma variável de um dos seguintes tipos que contém dados que serão encriptados com a chave pública do certificado:

  • nvarchar
  • char
  • Varchar
  • binary
  • Varbinary
  • Nchar

Tipos de devolução

varbinary com um tamanho máximo de 8.000 bytes.

Observações

Esta função encripta os dados com a chave pública do certificado. O texto cifrado só pode ser desencriptado com a chave privada correspondente. Estas transformações assimétricas são dispendiosas quando comparadas com a encriptação e desencriptação usando uma chave simétrica. Por isso, a encriptação assimétrica não é recomendada quando se trabalha com grandes conjuntos de dados.

Examples

Este exemplo encripta o texto simples armazenado em @cleartext com o certificado chamado JanainaCert02. Os dados encriptados são inseridos na tabela ProtectedData04.

INSERT INTO [AdventureWorks2022].[ProtectedData04]   
    VALUES ( N'Data encrypted by certificate ''Shipping04''',  
    EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );  
GO  

Ver também

DECRYPTBYCERT (Transact-SQL)
CRIAR CERTIFICADO (Transact-SQL)
CERTIFICADO ALTER (Transact-SQL)
CERTIFICADO DE DESISTÊNCIA (Transact-SQL)
CERTIFICADO DE CÓPIA DE SEGURANÇA (Transact-SQL)
Hierarquia de criptografia