PHP Conference Kansai 2025

La clase MongoDB\Driver\ClientEncryption

(mongodb >=1.7.0)

Introducción

La clase MongoDB\Driver\ClientEncryption gestiona la creación de claves de datos para el cifrado del lado del cliente, así como el cifrado y descifrado manual de los valores.

Sinopsis de la Clase

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 addKeyAltName(MongoDB\BSON\Binary $keyId, string $keyAltName): ?object
final public __construct(array $options)
final public createDataKey(string $kmsProvider, ?array $options = null): MongoDB\BSON\Binary
final public decrypt(MongoDB\BSON\Binary $value): mixed
final public deleteKey(MongoDB\BSON\Binary $keyId): object
final public encrypt(mixed $value, ?array $options = null): MongoDB\BSON\Binary
final public encryptExpression(array|object $expr, ?array $options = null): object
final public getKey(MongoDB\BSON\Binary $keyId): ?object
final public getKeyByAltName(string $keyAltName): ?object
final public removeKeyAltName(MongoDB\BSON\Binary $keyId, string $keyAltName): ?object
final public rewrapManyDataKey(array|object $filter, ?array $options = null): object
}

Constantes predefinidas

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC

Especifica un algoritmo para » el cifrado determinista, que es adecuado para las consultas.

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM

Especifica un algoritmo para » el cifrado aleatorio.

MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED

Especifica un algoritmo para una carga útil indexada y cifrada, que puede ser utilizada con el cifrado de consultas.

Para insertar o consultar con una carga útil indexada y cifrada, el MongoDB\Driver\Manager debe ser configurado con la opción de controlador "autoEncryption". La opción de cifrado automático "bypassQueryAnalysis" puede ser true. La opción de cifrado automático "bypassAutoEncryption" debe ser false.

MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED

Especifica un algoritmo para una carga útil no indexada y cifrada.

MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE

Especifica un algoritmo para una carga útil cifrada por rango, que puede ser utilizada con el cifrado de consultas.

Para consultar con una carga útil cifrada por rango, el MongoDB\Driver\Manager debe ser configurado con la opción de controlador "autoEncryption". La opción de cifrado automático "bypassQueryAnalysis" puede ser true. La opción de cifrado automático "bypassAutoEncryption" debe ser false.

Nota:

La extensión aún no soporta las consultas de rango para los tipos de campo BSON Decimal128.

MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY

Especifica un tipo de consulta de igualdad, que es utilizado en conjunción con MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED.

MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE

Especifica un tipo de consulta de rango, que es utilizado en conjunción con MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

Historial de cambios

Versión Descripción
PECL mongodb 2.0.0

Eliminar MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED y Eliminado MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW y MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW.

PECL mongodb 1.20.0

Añadido MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE y MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE.

Deprecado MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW y MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW.

PECL mongodb 1.16.0 Añadido MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW y MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW.
PECL mongodb 1.14.0 Añadido MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED, MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED, y MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY.

Tabla de contenidos

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top