Documentación offline PHP master

MongoDB\Driver\ClientEncryption::encrypt

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

MongoDB\Driver\ClientEncryption::encrypt

Cifra un valor

Descripción#

php final public MongoDB\Driver\ClientEncryption::encrypt(mixed $value, [array $options]): MongoDB\BSON\Binaryphp

Cifra el valor.

Parámetros#

value
El valor a cifrar. Cualquier valor que pueda insertarse en MongoDB puede cifrarse utilizando este método.

options

Opciones de cifrado
Opción Tipo Descripción
algorithm string

El algoritmo de cifrado a utilizar. Esta opción es requerida. Especifique una de las siguientes constantes de ClientEncryption:

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC, MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM, MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED, MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED, MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE
contentionFactor int

El factor de contención para evaluar las consultas con cargas útiles cifradas indexadas.

Esta opción se aplica únicamente y solo puede ser especificada cuando algorithm es MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED o MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

keyAltName string

Identifica un documento de colección de cofre de claves por keyAltName. Esta opción es mutuamente exclusiva con keyId y una de las dos es requerida.

keyId MongoDB\BSON\Binary

Identifica una clave de datos por _id. El valor es un UUID (subtipo binario 4). Esta opción es mutuamente exclusiva con keyAltName y una de las dos es requerida.

queryType string

El tipo de consulta para evaluar las consultas con cargas útiles cifradas indexadas. Especifique una de las siguientes constantes de ClientEncryption:

MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY, MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE

Esta opción se aplica únicamente y solo puede ser especificada cuando algorithm es MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED o MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

rangeOpts array

Opciones de índice para un campo de cifrado interrogeable que soporta consultas "range". Las opciones a continuación deben coincidir con los valores definidos en encryptedFields de la colección objetivo. Para los tipos de campo BSON double y decimal128, min, max y precision deben ser todos definidos o todos no definidos.

Opciones de índice de rango
Opción Tipo Descripción
min mixed Requisito si precision está definido. El valor BSON mínimo del rango.
max mixed Requisito si precision está definido. El valor BSON máximo del rango.
sparsity int Opcional. Entero positivo de 64 bits.
precision int Opcional. Entero positivo de 32 bits que especifica la precisión a utilizar para el cifrado explícito. Solo puede ser definido para los tipos de campo BSON double o decimal128.
trimFactor int Opcional. Entero positivo de 32 bits.

Valores devueltos#

Devuelve el valor cifrado como objeto MongoDB\BSON\Binary con subtipo 6.

Errores/Excepciones#

Lanza una excepción

MongoDB\Driver\Exception\InvalidArgumentException

en caso de error durante el análisis de un argumento.

Lanza

MongoDB\Driver\Exception\EncryptionException

si ocurre un error durante el cifrado del valor

Historial de cambios#

Versión Descripción
PECL mongodb 1.20.0 Se añadió la opción de rango "trimFactor". La opción de rango "sparsity" ahora es opcional.
PECL mongodb 1.16.0 Se añadió la opción "rangeOpts".
PECL mongodb 1.14.0 Se añadieron las opciones "contentionFactor" y "queryType".

Véase también#

MongoDB\Driver\ClientEncryption::decrypt

MongoDB\Driver\ClientEncryption::encryptExpression