Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Шифрует данные на открытом ключе сертификата.
Соглашения о синтаксисе Transact-SQL
Синтаксис
EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )
Аргументы
certificate_ID
Идентификатор сертификата в базе данных.
int.
cleartext
Строка, содержимое которой будет зашифровано с помощью сертификата.
@cleartext
Переменная одного из следующих типов, данные которой будут зашифрованы с помощью открытого ключа сертификата:
- nvarchar
- char
- varchar
- binary
- varbinary
- nchar
Типы возвращаемых данных
Переменная типа varbinary с максимальным размером 8000 байт.
Замечания
Эта функция шифрует данные при помощи открытого ключа сертификата. Код может быть расшифрован только с помощью соответствующего закрытого ключа. Такие ассиметричные преобразования обходятся дороже, чем шифрование и дешифрование с использованием симметричного ключа. Поэтому использование ассиметричного шифрования не рекомендуется при работе с большими наборами данных.
Примеры
В этом примере неформатированный текст из переменной @cleartext шифруется сертификатом с именем JanainaCert02. Зашифрованные данные помещаются в таблицу ProtectedData04.
INSERT INTO [AdventureWorks2022].[ProtectedData04]
VALUES ( N'Data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO
См. также
DECRYPTBYCERT (Transact-SQL)
СОЗДАТЬ СЕРТИФИКАТ (Transact-SQL)
СЕРТИФИКАТ ALTER (Transact-SQL)
СЕРТИФИКАТ DROP (Transact-SQL)
СЕРТИФИКАТ BACKUP (Transact-SQL)
Иерархия средств шифрования