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
Encripte dados com uma frase de acesso usando o algoritmo TRIPLE DES com um comprimento de bits de 128 chaves.
Observação
O SQL Server 2017 e versões posteriores encripta dados com uma frase-passe usando uma chave AES256.
Transact-SQL convenções de sintaxe
Sintaxe
EncryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'cleartext' | @cleartext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Arguments
Frase-passe
Uma frase-passe a partir da qual gerar uma chave simétrica.
@passphrase
Uma variável do tipo nvarchar, char, varchar, binary, varbinary ou nchar contendo uma frase de acesso a partir da qual gerar uma chave simétrica.
Texto claro
O texto claro para ser encriptado.
@cleartext
Uma variável do tipo nvarchar, char, varchar, binary, varbinary ou nchar contendo o texto claro. O tamanho máximo é de 8.000 bytes.
add_authenticator
Indica se um autenticador será encriptado juntamente com o texto claro. 1 se for adicionado um autenticador.
int.
@add_authenticator
Indica se um hash será encriptado juntamente com o texto claro.
autenticador
Dados a partir dos quais derivar um autenticador.
sysname.
@authenticator
Uma variável contendo dados a partir dos quais se pode derivar um autenticador.
Tipos de devolução
Varbinary com tamanho máximo de 8.000 bytes.
Observações
Uma palavra-passe é uma palavra-passe que inclui espaços. A vantagem de usar uma frase-passe é que é mais fácil lembrar uma frase ou oração significativa do que memorizar uma sequência de caracteres relativamente longa.
Esta função não verifica a complexidade da palavra-passe.
Examples
O exemplo seguinte atualiza um registo na SalesCreditCard tabela e encripta o valor do número do cartão de crédito armazenado na coluna CardNumber_EncryptedbyPassphrase, usando a chave primária como autenticador.
USE AdventureWorks2022;
GO
-- Create a column in which to store the encrypted data.
ALTER TABLE Sales.CreditCard
ADD CardNumber_EncryptedbyPassphrase VARBINARY(256);
GO
-- First get the passphrase from the user.
DECLARE @PassphraseEnteredByUser NVARCHAR(128);
SET @PassphraseEnteredByUser
= 'A little learning is a dangerous thing!';
-- Update the record for the user's credit card.
-- In this case, the record is number 3681.
UPDATE Sales.CreditCard
SET CardNumber_EncryptedbyPassphrase = EncryptByPassPhrase(@PassphraseEnteredByUser
, CardNumber, 1, CONVERT(varbinary, CreditCardID))
WHERE CreditCardID = '3681';
GO
Ver também
DECRYPTBYPASSPHRASE (Transact-SQL)
Hierarquia de criptografia