EncryptByCert (Transact-SQL)

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

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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

引数

  • certificate_ID
    データベースに含まれる証明書の ID を指定します。 int.
  • cleartext
    証明書で暗号化するデータの文字列を指定します。
  • @cleartext
    証明書の公開キーで暗号化するデータが含まれる、nvarcharcharvarcharbinaryvarbinary、または nchar データ型の変数を指定します。

戻り値の型

varbinary 型 (最大サイズは 8,000 バイト)

解説

この関数では、証明書の公開キーを使ってデータを暗号化します。この暗号文は、対応する秘密キーでのみ暗号化を解除できます。このような非対称変換は、対称キーを使用する暗号化および暗号化解除と比較して、非常にコストがかかります。したがって、非対称暗号化は、テーブル内のユーザー データなど、大きなデータセットを処理する場合は推奨されません。

次の例では、JanainaCert02 という証明書を使用して、@cleartext に格納されているプレーン テキストを暗号化します。暗号化されたデータは、テーブル ProtectedData04 に挿入されます。

INSERT INTO [AdventureWorks].[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)

その他の技術情報

暗号化階層

ヘルプおよび情報

SQL Server 2005 の参考資料の入手