openssl_public_encrypt
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
openssl_public_encrypt — Encrypts data with public key
Description
openssl_public_encrypt(
#[\SensitiveParameter] string
string
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string
int
?string
): bool
#[\SensitiveParameter] string
$data,string
&$encrypted_data,OpenSSLAsymmetricKey|OpenSSLCertificate|array|string
$public_key,int
$padding = OPENSSL_PKCS1_PADDING,?string
$digest_algo = null): bool
openssl_public_encrypt() encrypts data with public public_key and stores the result into encrypted_data. Encrypted data can be decrypted via openssl_private_decrypt().
This function can be used e.g. to encrypt message which can be then read only by owner of the private key. It can be also used to store secure data in database.
Parameters
dataencrypted_dataThis will hold the result of the encryption.
public_keypublic_keymust be the public key that corresponds to the private key that will be used to decrypt the data.paddingpaddingcan be one ofOPENSSL_PKCS1_PADDING,OPENSSL_SSLV23_PADDING,OPENSSL_PKCS1_OAEP_PADDING,OPENSSL_NO_PADDING.digest_algo- The digest algorithm for OAEP padding, or
nullto use the default algorithm.
Changelog
| Version | Description |
|---|---|
| 8.5.0 | The optional parameter digest_algo has been added. |
| 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. |
See Also
- openssl_private_encrypt() - Encrypts data with private key
- openssl_private_decrypt() - Decrypts data with private key
↑ and ↓ to navigate • Enter to select • Esc to close • / to open