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