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