Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Эта функция расшифровывает зашифрованные данные с помощью закрытого ключа сертификата.
Соглашения о синтаксисе Transact-SQL
Синтаксис
DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ] )
Аргументы
certificate_ID
Идентификатор сертификата в базе данных.
certificate_ID имеет тип данных int.
ciphertext
Строка данных, зашифрованная с помощью открытого ключа сертификата.
@ciphertext
Переменная типа varbinary, содержащая данные, зашифрованные с помощью сертификата.
cert_password
Пароль, используемый для шифрования закрытого ключа сертификата. Аргумент cert_password должен иметь формат данных Юникода.
@cert_password
Переменная типа nchar или nvarchar, содержащая пароль, используемый для шифрования закрытого ключа сертификата. Аргумент @cert_password должен иметь формат данных Юникода.
Типы возвращаемых данных
Переменная типа varbinary с максимальным размером 8000 байт.
Замечания
Эта функция расшифровывает данные при помощи закрытого ключа сертификата. Криптографические преобразования с использованием асимметричных ключей требуют значительных ресурсов. Поэтому мы не рекомендуем разработчикам использовать функции ENCRYPTBYCERT и DECRYPTBYCERT для шифрования и расшифровки обычных данных пользователей.
Разрешения
DECRYPTBYCERT требует разрешения CONTROL для сертификата.
Примеры
В этом примере выбираются строки из [AdventureWorks2022].[ProtectedData04], помеченного как данные, изначально зашифрованные с помощью сертификата JanainaCert02. Сначала выполняется расшифровка закрытого ключа сертификата JanainaCert02 с помощью пароля сертификата pGFD4bb925DGvbd2439587y. Затем с помощью этого закрытого ключа расшифровывается зашифрованный текст. Расшифрованные данные преобразуются из типа varbinary в тип nvarchar.
SELECT CONVERT(NVARCHAR(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2022].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
См. также
ENCRYPTBYCERT (Transact-SQL)
СОЗДАТЬ СЕРТИФИКАТ (Transact-SQL)
СЕРТИФИКАТ ALTER (Transact-SQL)
СЕРТИФИКАТ DROP (Transact-SQL)
СЕРТИФИКАТ BACKUP (Transact-SQL)
Иерархия средств шифрования