ENCRYPTBYCERT (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
関連項目
参照
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)