ENCRYPTBYCERT (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
証明書の公開キーを使ってデータを暗号化します。
構文
EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )
引数
certificate_ID
データベース内の証明書の ID。 int.
cleartext
証明書で暗号化されるデータの文字列。
@cleartext
証明書の公開キーで暗号化されるデータが含まれる次のいずれかの型の変数:
- nvarchar
- char
- varchar
- [バイナリ]
- varbinary
- nchar
戻り値の型
varbinary 8,000 バイトの最大サイズ。
解説
この関数によって証明書の公開キーでデータが暗号化されます。 この暗号文は、対応する秘密キーでのみ暗号化を解除できます。 対称キーを使用した暗号化と暗号化の解除に比べ、このような非対称変換はコストが高くなります。 そのため、大きなデータセットを扱う場合、非同期暗号化は推奨されません。
例
次の例では、@cleartext
という証明書を使用して、JanainaCert02
に格納されているプレーン テキストを暗号化します。 暗号化されたデータは、テーブル ProtectedData04
に挿入されます。
INSERT INTO [AdventureWorks2022].[ProtectedData04]
VALUES ( N'Data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO
参照
DECRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
暗号化階層