Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Шифрование данных с помощью парольной фразы с использованием алгоритма TRIPLE DES и 128-битного ключа.
Примечание.
SQL Server 2017 и более поздних версий шифрует данные с помощью парольной фразы с помощью ключа AES256.
Соглашения о синтаксисе Transact-SQL
Синтаксис
EncryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'cleartext' | @cleartext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Аргументы
passphrase
Парольная фраза, из которой создается симметричный ключ.
@passphrase
Переменная типа nvarchar, char, varchar, binary, varbinary или nchar, содержащая парольную фразу, по которой создается симметричный ключ.
cleartext
Открытый текст для шифрования.
@cleartext
Переменная типа nvarchar, char, varchar, binary, varbinary или nchar, содержащая открытый текст. Максимальный размер 8 000 байт.
add_authenticator
Указывает, будут ли вместе с аргументом cleartext зашифрована структура проверки подлинности. Значение 1, если структура проверки подлинности будет добавлено.
int.
@add_authenticator
Показывает, будет ли зашифрован хэш вместе с открытым текстом.
authenticator
Данные, из которых формируется структура проверки подлинности.
sysname.
@authenticator
Переменная, содержащая данные, из которых формируется структура проверки подлинности.
Типы возвращаемых данных
Переменная типа varbinary с максимальным размером 8000 байт.
Замечания
Парольная фраза представляет собой пароль, содержащий пробелы. Преимущество использования парольной фразы состоит в том, что смысловая фраза или предложение легче для запоминания, чем длинная строка символов.
Данная функция не проверяет сложность пароля.
Примеры
Следующий пример обновляет запись в таблице SalesCreditCard и шифрует номер кредитной карты, хранящийся в столбце CardNumber_EncryptedbyPassphrase, с помощью первичного ключа в качестве структуры проверки подлинности.
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
См. также
DECRYPTBYPASSPHRASE (Transact-SQL)
Иерархия средств шифрования