# A classe MongoDB\Driver\ClientEncryption

(mongodb >=1.7.0)

## Introdução

A classe MongoDB\Driver\ClientEncryption lida com a criação de chaves de dados para criptografia no lado do cliente e também com criptografia e descriptografia manuais de valores.

## Resumo da classe

final class MongoDB\Driver\ClientEncryption {
/* Constantes */
const string AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC = AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic;
const string AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM = AEAD_AES_256_CBC_HMAC_SHA_512-Random;
const string ALGORITHM_INDEXED = Indexed;
const string ALGORITHM_UNINDEXED = Unindexed;
const string ALGORITHM_RANGE = Range;
const string QUERY_TYPE_EQUALITY = equality;
const string QUERY_TYPE_RANGE = range;
/* Métodos */
final public function addKeyAltName(MongoDB\BSON\Binary `$keyId`, string `$keyAltName`): ?object
final public function __construct(array `$options`)
final public function createDataKey(string `$kmsProvider`, ?array `$options` = `null`): MongoDB\BSON\Binary
final public function decrypt(MongoDB\BSON\Binary `$value`): mixed
final public function deleteKey(MongoDB\BSON\Binary `$keyId`): object
final public function encrypt(mixed `$value`, ?array `$options` = `null`): MongoDB\BSON\Binary
final public function encryptExpression(array|object `$expr`, ?array `$options` = `null`): object
final public function getKey(MongoDB\BSON\Binary `$keyId`): ?object
final public function getKeyByAltName(string `$keyAltName`): ?object
final public function getKeys(): MongoDB\Driver\Cursor
final public function removeKeyAltName(MongoDB\BSON\Binary `$keyId`, string `$keyAltName`): ?object
final public function rewrapManyDataKey(array|object `$filter`, ?array `$options` = `null`): object
}

## Constantes predefinidas

`MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC`
  Especifica um algoritmo para » criptografia determinística, que é adequado para consultas.
`MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM`
  Especifica um algoritmo para » criptografia aleatorizada
`MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED`
  Especifica um algoritmo para uma carga criptografada e indexada, que pode ser usada com criptografia consultável. Para inserir ou consultado com uma carga criptografada e indexada, a classe MongoDB\Driver\Manager precisa ser configurada com a opção `"autoEncryption"` do driver. A opção de autocriptografia `"bypassQueryAnalysis"` pode ser `true`. A opção de autocriptografia `"bypassAutoEncryption"` precisa ser `false`.
`MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED`
  Especifica um algoritmo para uma carga criptografada e não indexada.
`MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE`
  Especifica um algoritmo para uma carga criptografada por intervalo, que pode ser usada com criptgrafia consultável. Para consultar com uma carga criptografada por intervalo, a classe MongoDB\Driver\Manager precisa ser configurada com a opção de driver `"autoEncryption"`. A opção de criptografia automática `"bypassQueryAnalysis"` pode ser `true`. A opção de criptografia automática `"bypassAutoEncryption"` deve ser `false`.

  > Nota: A extensão ainda não oferece suporte a consultas de intervalo para tipos de campo Decimal128 BSON.

`MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY`
  Especifica um tipo de consulta de igualdade, que é usada em conjunto com `MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED`.
`MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE`
  Especifica um tipo de consulta de intervalo, que é usada em conjunto com `MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE`.

## Registro de Alterações

Versão | Descrição
--- | ---
PECL mongodb 2.0.0 | Removidas as constantes `MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW` e `MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW`.
PECL mongodb 1.20.0 | Adicionadas `MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE` e `MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE`. Descontinuadas `MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW` e `MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW`.
PECL mongodb 1.16.0 | Adicionadas `MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW` e `MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW`.
PECL mongodb 1.14.0 | Adicionadas `MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED`, `MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED`, e `MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY`.

## Veja Também

- MongoDB\Driver\Manager::createClientEncryption()

## Índice

- MongoDB\Driver\ClientEncryption::addKeyAltName — Adiciona um nome alternativo a um documento de chave
- MongoDB\Driver\ClientEncryption::__construct — Cria um novo objeto ClientEncryption
- MongoDB\Driver\ClientEncryption::createDataKey — Cria um documento de chave
- MongoDB\Driver\ClientEncryption::decrypt — Descriptografa um valor
- MongoDB\Driver\ClientEncryption::deleteKey — Exclui um documento de chave
- MongoDB\Driver\ClientEncryption::encrypt — Criptografa um valor
- MongoDB\Driver\ClientEncryption::encryptExpression — Criptografa uma expressão de correspondência ou de agregação
- MongoDB\Driver\ClientEncryption::getKey — Obtém um documento de chave
- MongoDB\Driver\ClientEncryption::getKeyByAltName — Obtém um de documento chave com um nome alternativo
- MongoDB\Driver\ClientEncryption::getKeys — Obtém todos os documentos de chave
- MongoDB\Driver\ClientEncryption::removeKeyAltName — Remove um nome alternativo de um documento de chave
- MongoDB\Driver\ClientEncryption::rewrapManyDataKey — Reencapsula chaves de dados

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open