秘密鍵でデータを復号する

# openssl_private_decrypt

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

openssl_private_decrypt — 秘密鍵でデータを復号する

### 説明

function openssl_private_decrypt(
string `$data`,
#[\SensitiveParameter]string `&$decrypted_data`,
#[\SensitiveParameter]OpenSSLAsymmetricKey|OpenSSLCertificate|array|string `$private_key`,
int `$padding` = `OPENSSL_PKCS1_PADDING`,
?string `$digest_algo` = `null`
): bool

openssl_private_decrypt() は、事前に openssl_public_encrypt() で暗号化された `data` を復号し、それを `decrypted_data` に格納します。

これを使用するのは、例えばあなたにのみ送られてきたデータを復号する場合です。

### パラメータ

`data`

`decrypted_data`

`private_key`

  `private_key` は、 データの暗号化に使用した公開鍵と対になる秘密鍵である必要があります。

`padding`

  `padding` には、 `OPENSSL_PKCS1_PADDING`、 `OPENSSL_SSLV23_PADDING`、 `OPENSSL_PKCS1_OAEP_PADDING`、 `OPENSSL_NO_PADDING` が指定可能です。

`digest_algo`
  OAEP パディング用のダイジェストアルゴリズム。`null` の場合はデフォルトのアルゴリズムを使用します。

### 戻り値

成功した場合に `true` を、失敗した場合に `false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.5.0 | オプションのパラメータ `digest_algo` が追加されました。
8.0.0 | `private_key` は、 OpenSSLAsymmetricKey または OpenSSLCertificate クラスのインスタンスを受け入れるようになりました。 これより前のバージョンでは、 `OpenSSL key` または `OpenSSL X.509` 型のリソースを受け入れていました。

### 参考

- openssl_public_encrypt() - 公開鍵でデータを暗号化する
- openssl_public_decrypt() - 公開鍵でデータを復号する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open