PHP Conference Japan 2024

MongoDB\Driver\ClientEncryption::encrypt

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::encrypt加密值

描述

final public MongoDB\Driver\ClientEncryption::encrypt(mixed $value, ?array $options = null): MongoDB\BSON\Binary

加密值。

參數

value

要加密的值。任何可以插入 MongoDB 的值都可以使用此方法加密。

options

加密選項
選項 型別 描述
algorithm 字串

要使用的加密演算法。此選項為必填。指定下列其中一個ClientEncryption 常數

contentionFactor 整數

用於評估具有索引加密 payload 的查詢的競爭因素。

僅當 algorithmMongoDB\Driver\ClientEncryption::ALGORITHM_INDEXEDMongoDB\Driver\ClientEncryption::ALGORITHM_RANGE 時,才適用此選項且只能指定此選項。

keyAltName 字串

透過 keyAltName 識別 key vault 集合文件。此選項與 keyId 互斥,且必須指定其中一個。

keyId MongoDB\BSON\Binary

透過 _id 識別資料金鑰。值為 UUID (二進位子型別 4)。此選項與 keyAltName 互斥,且必須指定其中一個。

queryType 字串

用於評估具有索引加密 payload 的查詢的查詢類型。指定下列其中一個ClientEncryption 常數

僅當 algorithmMongoDB\Driver\ClientEncryption::ALGORITHM_INDEXEDMongoDB\Driver\ClientEncryption::ALGORITHM_RANGE 時,才適用此選項且只能指定此選項。

rangeOpts 陣列

支援「範圍」查詢的可查詢加密欄位的索引選項。以下選項必須與目標集合的 encryptedFields 中設定的值一致。對於 double 和 decimal128 BSON 欄位類型,minmaxprecision 必須全部設定或全部不設定。

範圍索引選項
選項 型別 描述
min 混合 如果設定 precision,則為必填。範圍的最小 BSON 值。
max 混合 如果設定 precision,則為必填。範圍的最大 BSON 值。
sparsity 整數 選用。正 64 位元整數。
precision 整數 選用。正 32 位元整數,指定用於明確加密的精度。只能為 double 或 decimal128 BSON 欄位類型設定。
trimFactor 整數 選用。正 32 位元整數。

回傳值

以子類型 6 的 MongoDB\BSON\Binary 物件形式傳回加密值。

錯誤/例外

更新日誌

版本 描述
PECL mongodb 1.20.0 新增了 "trimFactor" 範圍選項。"sparsity" 範圍選項現在是選用的。
PECL mongodb 1.16.0 新增了 "rangeOpts" 選項。
PECL mongodb 1.14.0 新增了 "contentionFactor""queryType" 選項。

新增註解

使用者貢獻的註解

此頁面尚無使用者貢獻的註解。
To Top