Documentación offline PHP master

openssl_public_encrypt

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

En esta página

openssl_public_encrypt

Cifra datos con una clave pública

Descripción#

```php

[\SensitiveParameter] openssl_public_encrypt(string $data, string $encrypted_data, OpenSSLAsymmetricKey $public_key, [int $padding], [string $digest_algo]): bool#

```php

openssl_public_encrypt cifra los datos data con la clave pública public_key y almacena el resultado en encrypted_data. Los datos cifrados pueden ser descifrados con la función openssl_private_decrypt.

Esta función puede ser utilizada para cifrar un mensaje que podrá ser leído únicamente por el propietario de la clave privada. Puede ser igualmente utilizada para almacenar datos seguros en una base de datos.

Parámetros#

data

encrypted_data
Contendrá el resultado del cifrado.

public_key
public_key debe ser la clave pública correspondiente a la clave privada que será utilizada para descifrar los datos.

padding
padding puede ser OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING o OPENSSL_NO_PADDING.

digest_algo
El algoritmo de resumen para el relleno OAEP, o null para utilizar el algoritmo por omisión.

Valores devueltos#

Esta función retorna true en caso de éxito o false si ocurre un error.

Historial de cambios#

Versión Descripción
8.5.0 Se ha añadido el parámetro opcional digest_algo.
8.0.0 public_key acepta ahora una instancia de OpenSSLAsymmetricKey o OpenSSLCertificate ; anteriormente, se aceptaba un resource de tipo OpenSSL key o OpenSSL X.509.

Véase también#

openssl_private_encrypt, openssl_private_decrypt