Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Esta função encripta dados com uma chave assimétrica.
Transact-SQL convenções de sintaxe
Sintaxe
EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )
Arguments
asym_key_ID
O ID de uma chave assimétrica na base de dados.
asym_key_ID tem um tipo de dado int .
Texto claro
Uma cadeia de dados que ENCRYPTBYASYMKEY se encripta com a chave assimétrica.
O texto claro pode ter um
- binary
- char
- Nchar
- nvarchar
- Varbinary
ou
- Varchar
tipo de dados.
@plaintext
Uma variável que contém um valor que ENCRYPTBYASYMKEY será encriptado com a chave assimétrica.
@plaintext pode ter um
- binary
- char
- Nchar
- nvarchar
- Varbinary
ou
- Varchar
tipo de dados.
Tipos de devolução
varbinary, com um tamanho máximo de 8.000 bytes.
Observações
Operações de encriptação e desencriptação que utilizam chaves assimétricas consomem recursos significativos e, por isso, tornam-se dispendiosas em comparação com a encriptação e desencriptação de chaves simétricas. Sugerimos que os programadores evitem operações assimétricas de encriptação e desencriptação de chaves em grandes conjuntos de dados – por exemplo, conjuntos de dados de utilizadores armazenados em tabelas de bases de dados. Em vez disso, sugerimos que os programadores primeiro encriptem esses dados com uma chave simétrica forte e depois encriptem essa chave simétrica com uma chave assimétrica.
Dependendo do algoritmo, ENCRYPTBYASYMKEY devolve NULL se a entrada exceder um certo número de bytes. Os limites específicos:
- uma chave RSA de 512 bits pode encriptar até 53 bytes
- Uma chave de 1024 bits pode encriptar até 117 bytes
- Uma chave de 2048 bits pode encriptar até 245 bytes
No SQL Server, tanto os certificados como as chaves assimétricas funcionam como wrappers sobre as chaves RSA.
Examples
Este exemplo encripta o texto armazenado em @cleartext com a chave JanainaAsymKey02assimétrica . A instrução insere os dados encriptados na ProtectedData04 tabela.
INSERT INTO AdventureWorks2022.Sales.ProtectedData04
VALUES( N'Data encrypted by asymmetric key ''JanainaAsymKey02''',
EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) );
GO
Ver também
DECRYPTBYASYMKEY (Transact-SQL)
CRIAR CHAVE ASSIMÉTRICA (Transact-SQL)
Hierarquia de criptografia