Decrypts data with private key

- « openssl_pkey_new

- openssl_private_encrypt »

- PHP Manual
- OpenSSL Functions
- 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`,
string `&$decrypted_data`,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string `$private_key`,
int `$padding` = `OPENSSL_PKCS1_PADDING`
): 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 corresponding 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`.

### Return Values

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

### Changelog

Version | Description
--- | ---
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