DecryptByAsymKey (Transact-SQL)

Дешифрует данные асимметричным ключом.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

DecryptByAsymKey ( 
                                  Asym_Key_ID , 
                 { 'ciphertext' | @ciphertext } 
                 [ , 'Asym_Key_Password' ]
                                  )

Аргументы

  • Asym_Key_ID
    Идентификатор асимметричного ключа в базе данных. int.
  • ciphertext
    Строка данных, которая была зашифрована асимметричным ключом.
  • @ciphertext
    Переменная типа varbinary , содержащая данные, которые были зашифрованы с помощью ассиметричного ключа.
  • Asym_Key_Password
    Пароль, который был использован при шифровке асимметричного ключа в базе данных.

Типы возвращаемых данных

varbinary с максимальным размером 8000 байт.

Замечания

Шифрование/дешифрование асимметричным ключом является очень дорогостоящим по сравнению с шифрованием/дешифрованием симметричным ключом. Рекомендуется использовать асимметричный ключ при работе с большими наборами данных, такими как данные пользователей в таблицах.

Примеры

Следующий пример расшифровывает текст, зашифрованный асимметричным ключом JanainaAsymKey02, хранящимся в таблице AdventureWorks.ProtectedData04. Возвращаемые данные зашифрованы асимметричным ключом JanainaAsymKey02, который был дешифрован паролем pGFD4bb925DGvbd2439587y. Открытый текст приводится к типу nvarchar.

SELECT CONVERT(nvarchar(max),
    DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'), 
    ProtectedData, N'pGFD4bb925DGvbd2439587y' )) 
AS DecryptedData 
FROM [AdventureWorks].[Sales].[ProtectedData04] 
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';
GO

См. также

Справочник

EncryptByAsymKey (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)

Другие ресурсы

Выбор алгоритма шифрования
Иерархия средств шифрования

Справка и поддержка

Получение помощи по SQL Server 2005