클래스: Mongo::Crypt::ExplicitEncryptionContext Private

상속:
Context
  • 객체
모두 표시
다음에 정의됨:
lib/ Mongo/crypt/explicit_encryption_context.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

명시적 암호화를 위해 초기화된 컨텍스트 객체

직접 알려진 하위 클래스

명시적 암호화 표현식 컨텍스트

인스턴스 속성 요약

컨텍스트에서 상속된 속성

#ctx_p

인스턴스 메서드 요약 접기

컨텍스트에서 상속된 메서드

#bson_mode, #run_state_machine, #상태

생성자 세부 정보

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

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

범위 알고리즘 실험용으로만 제공됩니다. 다음 용도로는 사용되지 않습니다.

참고:

"하위 문자열" 쿼리 유형이 불안정하고 이전 버전의 영향을 받기 쉽습니다.

새 ExplicitEncryptionContext 객체 만들기

공개 사용. 호환성이 손상되는 변경.

매개변수:

  • mongocrypt (Mongo::Crypt::Handle) —

    새 mongocrypt_ctx_t를 생성하는 데 사용되는 mongocrypt_t 객체를 래핑하는 핸들

  • io (ClientEncryption::IO) —

    상태 머신을 실행하는 데 필요한 드라이버 I/O 메서드를 구현하는 IO 클래스의 인스턴스입니다.

  • doc (BSON::Document) —

    암호화할 문서

  • 옵션 (해시) (기본값: {})

옵션 해시(options):

  • :key_id (BSON::Binary) —

    암호화에 사용할 데이터 키의 UUID를 나타내는 :uuid 유형의 BSON::Binary 객체입니다.

  • :key_alt_name (string) —

    값을 암호화하는 데 사용할 데이터 키의 대체 이름입니다.

  • :algorithm (string) —

    The algorithm used to encrypt the value. Valid algorithms are "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic", "AEAD_AES_256_CBC_HMAC_SHA_512-Random", "Indexed", "Unindexed", "Range", "String".

  • :contention_factor (정수 | nil) —

    암호화 알고리즘 'Indexed(인덱스)', 'Range(범위)' 또는 'String(문자열)'으로 설정하다 경우 적용되는 경합 요인입니다. 제공하지 않으면 기본값은 0입니다. 경합 요인은 암호화 알고리즘 'Indexed(인덱스)', 'Range(범위)' 또는 'String(문자열)'으로 설정하다 경우에만 설정하다 해야 합니다.

  • query_type (string | nil) —

    암호화 알고리즘 '인덱스', '범위' 또는 '문자열'로 설정하다 경우 적용할 쿼리 유형입니다. 허용되는 값은 'equality', 'range', 'prefix', 'suffix' 및 'substring'입니다.

  • :range_opts (해시 | nil) —

    ' 범위 ' 쿼리를 지원하는 Queryable Encryption 필드 에 대한 인덱스 옵션을 지정합니다. 허용되는 옵션은 다음과 같습니다.

    • :min
    • :max
    • :trim_factor
    • :sparsity
    • :precision 최소, 최대, 트림_인자, 희소성 및 정밀도는 대상 컬렉션 의 암호화된 필드에 설정하다 값과 일치해야 합니다. double 및 십진수128의 경우 최소/최대/정밀도를 모두 설정하다 하거나 모두 설정 해제해야 합니다.
  • :string_opts (해시 | nil) —

    "prefix", "suffix" 또는 "substring" 을 지원하는 Queryable Encryption 필드 에 대한 인덱스 옵션을 지정합니다. 쿼리( 알고리즘 '문자열'). 허용되는 옵션은 다음과 같습니다.

    • :case_센시티브
    • :diacritic_critical
    • :prefix(:str_min_query_Length, :str_max_query_Length가 포함된 해시)
    • :suffix(:str_min_query_Length, :str_max_query_Length가 포함된 해시)
    • :substring (:str_max_Length, :str_min_query_Length, :str_max_query_Length가 포함된 해시) 옵션은 대상 컬렉션 의 암호화된 필드에 설정하다 값과 일치해야 합니다.

다음을 발생시킵니다.



79
80
81
82
83
84
# 파일 'lib/ Mongo/crypt/explicit_encryption_context.rb', 79줄

def 초기화(mongocrypt, io, doc, 옵션 = {})
  super(mongocrypt, io)
  set_key_opts(옵션)
  set_algorithm_opts(옵션)
  init(doc)
end

인스턴스 메서드 세부 정보

#init(doc) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



86
87
88
# 파일 'lib/ Mongo/crypt/explicit_encryption_context.rb', 86줄

def init(doc)
  바인딩.ctx_explicit_encrypt_init(self, doc)
end