PHP Conference Japan 2024

MongoDB\Driver\ClientEncryption::encrypt

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::encrypt加密值

描述

final public MongoDB\Driver\ClientEncryption::encrypt(混合 $value, ?数组 $options = null): MongoDB\BSON\Binary

加密值。

参数

value

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

options

加密选项
选项 类型 描述
algorithm 字符串

要使用的加密算法。此选项是必需的。指定以下 ClientEncryption 常量 之一

contentionFactor 整数

用于评估具有索引加密有效负载的查询的竞争因子。

此选项仅适用于 algorithmMongoDB\Driver\ClientEncryption::ALGORITHM_INDEXEDMongoDB\Driver\ClientEncryption::ALGORITHM_RANGE 时,并且只能在这些情况下指定。

keyAltName 字符串

通过 keyAltName 标识密钥保管库集合文档。此选项与 keyId 相互排斥,并且必须且仅需指定一个。

keyId MongoDB\BSON\Binary

通过 _id 标识数据密钥。该值是 UUID(二进制子类型 4)。此选项与 keyAltName 相互排斥,并且必须且仅需指定一个。

queryType 字符串

用于评估具有索引加密有效负载的查询的查询类型。指定以下 ClientEncryption 常量 之一

此选项仅适用于 algorithmMongoDB\Driver\ClientEncryption::ALGORITHM_INDEXEDMongoDB\Driver\ClientEncryption::ALGORITHM_RANGE 时,并且只能在这些情况下指定。

rangeOpts 数组

支持“范围”查询的可查询加密字段的索引选项。以下选项必须与目标集合的 encryptedFields 中设置的值匹配。对于双精度和 decimal128 BSON 字段类型,必须同时设置或同时不设置 minmaxprecision

范围索引选项
选项 类型 描述
min 混合 如果设置了 precision,则为必需。范围的最小 BSON 值。
max 混合 如果设置了 precision,则为必需。范围的最大 BSON 值。
sparsity 整数 可选。正 64 位整数。
precision 整数 可选。正 32 位整数,指定用于显式加密的精度。只能为双精度或 decimal128 BSON 字段类型设置。
trimFactor 整数 可选。正 32 位整数。

返回值

将加密后的值作为 MongoDB\BSON\Binary 对象返回,子类型为 6。

错误/异常

变更日志

版本 描述
PECL mongodb 1.20.0 添加了 "trimFactor" 范围选项。"sparsity" 范围选项现在是可选的。
PECL mongodb 1.16.0 添加了 "rangeOpts" 选项。
PECL mongodb 1.14.0 添加了 "contentionFactor""queryType" 选项。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top