Classe: Mongo::Crypt::ExplicitEncryptionContext Privado

Herda:
Contexto
  • Objeto
mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/crypt/explicit_encryption_context.rb

Visão geral

Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.

Um objeto de contexto inicializado para criptografia explícita

Subclasses conhecidas diretas

ExplicitEncryptionExpressionContext

Resumo do atributo de instância

Atributos herdados do Contexto

#ctx_p

Recolhimento do Resumo do método de instância

Métodos herdados do Contexto

#run_state_machine, #state

Detalhes do construtor

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

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Observação:

O algoritmo RangePreview é apenas experimental. Não é destinado a

Criar um novo objeto ExplicitEncryptionContext

uso público.

Parâmetros:

  • mongocrypt (Mongo::Crypt::Handle)

    um identificador que envolve um objeto mongocrypt_t usado para criar um novo mongocrypt_ctx_t

  • io (ClientEncryption::IO)

    Uma instância da classe IO que implementa os métodos de E/S do driver necessários para executar a máquina de estado

  • doc (BSON::Document)

    Um documento para criptografar

  • opções (Hash) (padrão para: {})

Hash de opções (opções):

  • :key_id (BSON::Binary)

    Um objeto BSON::Binary do tipo :uuid representando o UUID da chave de dados a ser usada para criptografia.

  • :key_alt_name (string)

    O nome alternativo da chave de dados que será usada para criptografar o valor.

  • :algorithm (string)

    O algoritmo usado para criptografar o valor. Algoritmos válidos são "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic", "AEAD_AES_256_CBC_HMAC_SHA_512-Random", "Indexed", "Unindexed", "RangePreview".

  • :contention_factor (Inteiro | nulo)

    Fator de contenção a ser aplicado se o algoritmo de criptografia estiver definido como "Indexado". Se não for fornecido, o padrão será um valor de 0. O fator de contenção deve ser definido somente se o algoritmo de criptografia estiver definido como "Indexado".

  • query_type (string | nil)

    Tipo de consulta a ser aplicada se o algoritmo de criptografia estiver definido como "Indexado" ou "RangePreview". Os valores permitidos são "igualdade" e "rangePreview".

  • :range_opts (Hash | nulo)

    Especifica opções de índice para um campo de Queryable Encryption que oferece suporte a queries "rangePreview". As opções permitidas são:

    • :min

    • :max

    • :sparsity

    • :precision

    min, max, sparsity e range devem corresponder aos valores definidos em encryptionFields da collection de destino. Para128 duplo e decimal, min/max/precision devem todos ser definidos ou todos desconfigurados.

Aumenta:



66
67
68
69
70
71
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/explicit_encryption_context.rb', linha 66

def inicializar(mongocrypt, io, doc, opções = {})
  super(mongocrypt, io)
  set_key_opts(opções)
  set_algorithm_opts(opções)
  init(doc)
end

Detalhes do método de instância

#init(doc) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.



73
74
75
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/explicit_encryption_context.rb', linha 73

def init(doc)
  Vinculação.ctx_explicit_encrypt_init(auto, doc)
end