ENCRYPTBYCERT (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

証明書の公開キーを使ってデータを暗号化します。

Transact-SQL 構文表記規則

構文

EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

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)
暗号化階層