Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к: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)
Иерархия средств шифрования