Encrypts data with private key

- « openssl_private_decrypt

- openssl_public_decrypt »

- PHP Manual
- OpenSSL Functions
- Encrypts data with private key

# openssl_private_encrypt

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

openssl_private_encrypt — Encrypts data with private key

### Description

openssl_private_encrypt(
string `$data`,
string `&$encrypted_data`,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string `$private_key`,
int `$padding` = `OPENSSL_PKCS1_PADDING`
): bool

openssl_private_encrypt() encrypts `data` with private `private_key` and stores the result into `encrypted_data`. Encrypted data can be decrypted via openssl_public_decrypt().

This function can be used e.g. to sign data (or its hash) to prove that it is not written by someone else.

### Parameters

`data`

`encrypted_data`

`private_key`

`padding`

  `padding` can be one of `OPENSSL_PKCS1_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