ENCRYPTBYASYMKEY (Transact-SQL)
Шифрует данные при помощи асимметричного ключа.
Синтаксис
EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )
Аргументы
Asym_Key_ID
Идентификатор асимметричного ключа в базе данных. int.cleartext
Строка данных, которая будет зашифрована с помощью асимметричного ключа.@plaintext
Переменная типа nvarchar, char, varchar, binary, varbinary или nchar, содержащая данные, которые будут зашифрованы с помощью асимметричного ключа.
Типы возвращаемых данных
varbinary с максимальным размером 8 000 байт.
Замечания
Шифрование/дешифрование с помощью асимметричного ключа является очень дорогостоящим по сравнению с шифрованием/дешифрованием с помощью симметричного ключа. Рекомендуется не шифровать асимметричным ключом большие наборы данных, например таблицы с пользовательскими данными. Вместо этого данные следует шифровать с помощью сильного симметричного ключа, а симметричный ключ шифровать с помощью асимметричного.
Примеры
В следующем примере текст из переменной @cleartext шифруется асимметричным ключом JanainaAsymKey02. Зашифрованные данные помещаются в таблицу ProtectedData04.
INSERT INTO [AdventureWorks2008R2].[Sales].[ProtectedData04]
values( N'data encrypted by asymmetric key ''JanainaAsymKey02''',
EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) )
GO