ENCRYPTBYCERT (Transact-SQL)
Criptografa dados com a chave pública de um certificado.
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 um tamanho máximo de 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 privada 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 [AdventureWorks2008R2].[ProtectedData04]
values( N'data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO