Decrypts data with private key

# openssl_private_decrypt

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

openssl_private_decrypt — Decrypts data with private key

### Description

openssl_private_decrypt(
string `$data`,
#[\SensitiveParameter] string `&$decrypted_data`,
#[\SensitiveParameter] OpenSSLAsymmetricKey|OpenSSLCertificate|array|string `$private_key`,
int `$padding` = `OPENSSL_PKCS1_PADDING`,
?string `$digest_algo` = `null`
): bool

openssl_private_decrypt() decrypts `data` that was previously encrypted via openssl_public_encrypt() and stores the result into `decrypted_data`.

You can use this function e.g. to decrypt data which is supposed to only be available to you.

### Parameters

`data`

`decrypted_data`

`private_key`

  `private_key` must be the private key that corresponds to the public key that was used to encrypt the data.

`padding`

  `padding` can be one of `OPENSSL_PKCS1_PADDING`, `OPENSSL_SSLV23_PADDING`, `OPENSSL_PKCS1_OAEP_PADDING`, `OPENSSL_NO_PADDING`.

`digest_algo`
  The digest algorithm for OAEP padding, or `null` to use the default algorithm.

### Return Values

Returns `true` on success or `false` on failure.

### Changelog

Version | Description
--- | ---
8.5.0 | The optional parameter `digest_algo` has been added.
8.0.0 | `private_key` accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type `OpenSSL key` or `OpenSSL X.509` was accepted.

### See Also

- openssl_public_encrypt() - Encrypts data with public key
- openssl_public_decrypt() - Decrypts data with public key

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open