DECRYPTBYASYMKEY (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Эта функция расшифровывает зашифрованные данные с помощью асимметричного ключа.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

Asym_Key_ID
Идентификатор асимметричного ключа в базе данных. Asym_Key_ID имеет тип данных int.

ciphertext
Строка данных, зашифрованная с помощью асимметричного ключа.

@ciphertext
Переменная типа varbinary, содержащая данные, зашифрованные с помощью асимметричного ключа.

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

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

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

Замечания

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

Разрешения

DECRYPTBYASYMKEY требуется разрешение CONTROL на асимметричный ключ.

Примеры

В этом примере расшифровывается зашифрованный текст, изначально зашифрованный с помощью асимметричного ключа JanainaAsymKey02. Этот асимметричный ключ хранится в таблице AdventureWorks2022.ProtectedData04. В этом примере возвращаемые данные расшифровываются с помощью асимметричного ключа JanainaAsymKey02. Для расшифровки асимметричного ключа используется пароль pGFD4bb925DGvbd2439587y. Возвращаемый открытый текст приводится к типу nvarchar.

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

См. также

ENCRYP ТБ YASYMKEY (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Выбор алгоритма шифрования
Иерархия средств шифрования