ENCRYPTBYCERT (Transact-SQL)ENCRYPTBYCERT (Transact-SQL)

Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) SimBanco de Dados SQL do AzureAzure SQL DatabaseYesBanco de Dados SQL do AzureAzure SQL DatabaseAplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) SimBanco de Dados SQL do AzureAzure SQL DatabaseYesBanco de Dados SQL do AzureAzure SQL Database

Criptografa dados com a chave pública de um certificado.Encrypts data with the public key of a certificate.

Ícone de link do tópico Convenções da sintaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

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

Observação

Para ver a sintaxe do Transact-SQL para o SQL Server 2014 e versões anteriores, confira a Documentação das versões anteriores.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumentosArguments

certificate_IDcertificate_ID
A ID de um certificado no banco de dados.The ID of a certificate in the database. int.int.

cleartextcleartext
Uma cadeia de caracteres de dados que serão criptografados com o certificado.A string of data that will be encrypted with the certificate.

@cleartext@cleartext
Uma variável de um dos seguintes tipos, que contém dados a serem criptografados com a chave pública do certificado:A variable of one of the following types that contains data that will be encrypted with the public key of the certificate:

  • nvarcharnvarchar
  • charchar
  • varcharvarchar
  • binarybinary
  • varbinaryvarbinary
  • ncharnchar

Tipos de retornoReturn Types

varbinary com um tamanho máximo de 8.000 bytes.varbinary with a maximum size of 8,000 bytes.

ComentáriosRemarks

Essa função criptografa dados com a chave pública do certificado.This function encrypts data with the certificate's public key. O texto cifrado só pode ser decifrado com a chave privada correspondente.The ciphertext can only be decrypted with the corresponding private key. Essas transformações assimétricas são muito caras comparadas à criptografia e descriptografia com o uso de uma chave simétrica.These asymmetric transformations are costly when compared to encryption and decryption using a symmetric key. Assim, a criptografia assimétrica não é recomendada ao trabalhar com grandes conjuntos de dados.As such, asymmetric encryption isn't recommended when working with large datasets.

ExemplosExamples

Este exemplo criptografa o texto não criptografado armazenado em @cleartext com o certificado chamado JanainaCert02.This example encrypts the plaintext stored in @cleartext with the certificate called JanainaCert02. Os dados criptografados são inseridos na tabela ProtectedData04.The encrypted data is inserted into table ProtectedData04.

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

Consulte TambémSee Also

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