(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
openssl_public_decrypt — Decrypts data with public key
openssl_public_decrypt( string $data, #[\SensitiveParameter] string &$decrypted_data, OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key, int $padding = OPENSSL_PKCS1_PADDING ): bool
openssl_public_decrypt() decrypts data that was previous encrypted via openssl_private_encrypt() and stores the result into decrypted_data.
You can use this function e.g. to check if the message was written by the owner of the private key.
datadecrypted_datapublic_key public_key must be the public key that corresponds to the private key that was used to encrypt the data.
padding padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.
| Version | Description |
|---|---|
| 8.0.0 | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted. |
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.openssl-public-decrypt.php