# openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_public_encrypt — Chiffre des données avec une clé publique

### Description

openssl_public_encrypt(
#[\SensitiveParameter] string `$data`,
string `&$encrypted_data`,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string `$public_key`,
int `$padding` = `OPENSSL_PKCS1_PADDING`
): bool

openssl_public_encrypt() chiffre les données `data` avec la clé publique `public_key` et stocke le résultat dans `encrypted_data`. Les données chiffrées peuvent être déchiffrées avec la fonction openssl_private_decrypt().

Cette fonction peut être utilisée pour chiffrer un message qui pourra être lu uniquement par le propriétaire de la clé privée. Elle peut être également utilisée pour stocker des données sécurisées dans une base de données.

### Liste de paramètres

`data`

`encrypted_data`

  Contiendra le résultat du chiffrage.

`public_key`

  `public_key` doit être la clé publique correspondant à la clé privée qui sera utilisée pour décrypter les données.

`padding`

  `padding` peut être `OPENSSL_PKCS1_PADDING`, `OPENSSL_SSLV23_PADDING`, `OPENSSL_PKCS1_OAEP_PADDING` ou `OPENSSL_NO_PADDING`.

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.0.0 | `public_key` accepte désormais une instance de OpenSSLAsymmetricKey ou OpenSSLCertificate ; auparavant, une resource de type `OpenSSL key` ou `OpenSSL X.509` était acceptée.

### Voir aussi

- openssl_private_encrypt() - Chiffre des données avec une clé privée
- openssl_private_decrypt() - Déchiffre des données avec une clé privée