类:Mongo::Crypt::ExplicitEncryptionContext Private

继承:
上下文
  • 对象
显示全部
定义于:
lib/ Mongo/crypt/explicit_encryption_context.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

为显式加密初始化的 Context 对象

实例属性摘要

Context继承的属性

#ctx_p

实例方法摘要折叠

Context继承的方法

#bson_mode, #run_state_machine, #state

构造函数详情

#initialize (mongocrypt, io, doc, options = {}) ⇒ ExplicitEncryptionContext

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

注意:

范围算法仅处于实验阶段。 它不适用于

创建新的 ExplicitEncryptionContext对象

公共使用。

参数:

  • mongocrypt ( Mongo::Crypt::Handle )

    包装 mongocrypt_t 对象的句柄,用于创建新的 mongocrypt_ctx_t

  • io (ClientEncryption::IO)

    IO 类的实例,用于实现运行状态机所需的驱动程序 I/O 方法

  • doc ( BSON::Document )

    要加密的文档

  • 选项 哈希 (默认为: {}

选项哈希 ( options ):

  • :key_id ( BSON::Binary )

    :uuid 类型的 BSON::Binary 对象,表示用于加密的数据密钥的 UUID。

  • :key_alt_name string

    将用于加密该值的数据密钥的备用名称。

  • :algorithm string

    用于加密值的算法。有效算法为 "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"、"AEAD_AES_256_CBC_HMAC_SHA_512-Random"、"Indexed"、"Unindexed"、"Range"。

  • :contention_factor ( Integer | nil )

    将加密算法设立为“已索引”时要应用的争用因子。如果未提供,则默认值为 0。仅当加密算法设立为“已索引”时,才应设立争用因子。

  • query_type ( string | nil )

    加密算法设立为“索引”或“范围”时要应用的查询类型。允许的值为 "equality" 和 "范围"。

  • :range_opts 哈希 | nil

    为支持“ 范围 ”查询的Queryable Encryption字段指定索引选项。允许的选项包括:

    • :min
    • :max
    • :trim_factor
    • :sparsity
    • :精度 min、max、trim_factor、稀疏性和精度必须与目标集合的encryptedFields中设立的值相匹配。对于 double 和十进制128,最小/最大/精度必须全部设立,或者全部取消设置。

引发:



64
65
66
67
68
69
# File 'lib/ Mongo/crypt/explicit_encryption_context.rb', line 64

def 初始化(mongocrypt, io, doc, 选项 = {})
  (mongocrypt, io)
  set_key_opts(选项)
  set_algorithm_opts(选项)
  init(doc)
end

实例方法详细信息

# init (doc) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。



71
72
73
# File 'lib/ Mongo/crypt/explicit_encryption_context.rb', line 71

def init(doc)
  绑定.ctx_explicit_encrypt_init(self, doc)
end