类:Mongo::Crypt::ExplicitEncryptionContext Private

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

Overview

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

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

实例属性摘要

Context继承的属性

#ctx_p

实例方法摘要折叠

Context继承的方法

#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 )

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

  • query_type ( string | nil )

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

  • :range_opts 哈希 | nil

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

    • :min

    • :max

    • :trim_factor

    • :sparsity

    • :Precision

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

引发:

[查看源代码]

67
68
69
70
71
72
# File 'lib/ Mongo/crypt/explicit_encryption_context.rb', line 67

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

实例方法详细信息

# init (doc) ⇒对象

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

[查看源代码]

74
75
76
# File 'lib/ Mongo/crypt/explicit_encryption_context.rb', line 74

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