Compartilhar via


ENCRYPTBYCERT (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe 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 do tipo nvarchar, char, varchar, binary, varbinary ou nchar que contém dados a serem criptografados com a chave pública do certificado.

Tipos de retorno

varbinary com no máximo 8.000 bytes.

Comentários

Essa função criptografa dados com a chave pública de um certificado. O texto cifrado só pode ser decifrado com a chave particular correspondente. Essas transformações assimétricas são muito caras comparadas à criptografia e descriptografia com o uso de uma chave simétrica. Portanto, a criptografia assimétrica não é recomendada ao trabalhar com grandes conjuntos de dados, tal como dados de usuário em tabelas.

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