openssl_private_decrypt

FunctionParams changed in PHP 8.5

Decrypts data with private key.

PHP 5
PHP 7
PHP 8.0
Improved
PHP 8.1-8.2
PHP 8.3
PHP 8.4
PHP 8.5
Improved
PHP 8.6

openssl_private_decrypt Function synopsis

openssl_private_decrypt(
    string $data,
    &$decrypted_data,
    $private_key,
    int $padding = OPENSSL_PKCS1_PADDING,
    ?string $digest_algo = null
  ): bool

Parameters

$data

Typestring

$decrypted_data

Passed by reference

$private_key

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

$padding

OptionalTypeintDefault valueOPENSSL_PKCS1_PADDING

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

$digest_algo

OptionalType?stringDefault valuenull

Note that the parameter $decrypted_data is passed by reference, and contains additional/updated context data that may be useful.

Return value

Typebool

Returns true on success, false on failure

Changes to the openssl_private_decrypt Function

PHP 8.5

  • Optional parameter added - #5: ?string $digest_algo = null
 openssl_private_decrypt(
     string $data,
     &$decrypted_data,
     $private_key,
-    int $padding = OPENSSL_PKCS1_PADDING
+    int $padding = OPENSSL_PKCS1_PADDING,
+    ?string $digest_algo = null
   ): bool

PHP 8.2

PHP 8.0

  • Return type added: bool
  • Parameter type added for parameter #1 ($data): string
  • Parameter name of parameter #2 changed: $crypted to $decrypted_data
  • Parameter name of parameter #3 changed: $key to $private_key
  • Parameter type added for parameter #4 ($padding): int
  • Parameter default value added for position #4 ($padding): OPENSSL_PKCS1_PADDING
  openssl_private_decrypt(
-     $data,
+     string $data,
-     &$crypted,
+     &$decrypted_data,
-     $key,
+     $private_key,
-     $padding
+     int $padding = OPENSSL_PKCS1_PADDING
-   )
+   ): bool

openssl_private_decrypt Function Availability

PHP VersionAvailability
PHP 8.6Future Release Yes
PHP 8.5Upcoming Release Yes
PHP 8.4Supported (Latest) Yes
PHP 8.3Supported Yes
PHP 8.2Security-Fixes Only Yes
PHP 8.1Security-Fixes Only Yes
PHP 8.0Unsupported Yes
PHP 7.4Unsupported Yes
PHP 7.3Unsupported Yes
PHP 7.2Unsupported Yes
PHP 7.1Unsupported Yes
PHP 7.0Unsupported Yes
PHP 5.6Unsupported Yes
PHP 5.5Unsupported Yes
PHP 5.4Unsupported Yes
PHP 5.3Unsupported Yes