EncryptByCert (Transact-SQL)

以憑證的公開金鑰加密資料。

主題連結圖示Transact-SQL 語法慣例

語法

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

引數

  • certificate_ID
    資料庫中的憑證識別碼。 int.
  • cleartext
    將以憑證加密的資料字串。
  • @cleartext
    nvarcharcharvarcharbinaryvarbinarynchar 類型的變數,其中包含將利用憑證公開金鑰加密的資料。

傳回類型

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 協助