openssl_private_encrypt

Encrypts data with private key

&reftitle.description; `bool` `openssl_private_encrypt` #[\SensitiveParameter]`string` `data` `string` `encrypted_data` #[\SensitiveParameter]``OpenSSLAsymmetricKey``OpenSSLCertificate``array``string```private_key` `int` `padding` `OPENSSL_PKCS1_PADDING`

`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.

&reftitle.parameters;

`data`

`encrypted_data`

`private_key`

- `private_key` must be the private key that corresponds to the public key that will be used to decrypt the data.

`padding`

- `padding` can be one of `OPENSSL_PKCS1_PADDING`, `OPENSSL_NO_PADDING`.

&reftitle.returnvalues;

&return.success;

&reftitle.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.

&reftitle.seealso;

- `openssl_public_encrypt`
- `openssl_public_decrypt`