openssl_private_decrypt

Decrypts data with private key

Description

bool openssl_private_decrypt(
    string $data,
    #[\SensitiveParameter]string &$decrypted_data,
    #[\SensitiveParameter]OpenSSLAsymmetricKeyOpenSSLCertificatearraystring $private_key,
    int $padding = OPENSSL_PKCS1_PADDING,
    stringnull $digest_algo = null
)

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 OEAP 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
  • openssl_public_decrypt