ENCRYPTBYCERT (Transact-SQL)

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

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

構文

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

引数

  • certificate_ID
    データベースに含まれる証明書の ID を指定します。 int.

  • cleartext
    証明書で暗号化するデータの文字列を指定します。

  • @cleartext
    証明書の公開キーで暗号化するデータが含まれる、nvarchar、char、varchar、binary、varbinary、または nchar データ型の変数を指定します。

戻り値の型

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

説明

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

使用例

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

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

概念

暗号化階層