Compartilhar via


ENCRYPTBYCERT (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

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

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

certificate_ID
A ID de um certificado no banco de dados. int.

cleartext
Uma cadeia de caracteres de dados que serão criptografados com o certificado.

@cleartext
Uma variável de um dos seguintes tipos, que contém dados a serem criptografados com a chave pública do certificado:

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

Tipos de retorno

varbinary com um tamanho máximo de 8.000 bytes.

Comentários

Essa função criptografa dados com a chave pública do certificado. O texto cifrado só pode ser decifrado com a chave privada correspondente. Essas transformações assimétricas são muito caras comparadas à criptografia e descriptografia com o uso de uma chave simétrica. Assim, a criptografia assimétrica não é recomendada ao trabalhar com grandes conjuntos de dados.

Exemplos

Este exemplo criptografa o texto não criptografado armazenado em @cleartext com o certificado chamado JanainaCert02. Os dados criptografados são inseridos na tabela ProtectedData04.

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

Consulte Também

DECRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
Hierarquia de criptografia