openssl_decrypt

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_decryptデータを復号する

説明

openssl_decrypt(
    string$data,
    string$cipher_algo,
    string$passphrase,
    int$options = 0,
    string$iv = "",
    ?string$tag = null,
    string$aad = ""
): string|false

未加工の、または base64 エンコードされた文字列を受け取り、 与えられた暗号化方式とキーを使って文字列を復号します。

パラメータ

data

復号化する、暗号化されたメッセージ。

cipher_algo

暗号化方式。利用可能な暗号化方式のリストについては、 openssl_get_cipher_methods() を使用してください。

passphrase

キー

options

OPENSSL_RAW_DATA あるいは OPENSSL_ZERO_PADDING のいずれか。

iv

NULL ではない初期化ベクトル

tag

AEAD 暗号モードの認証タグ。 正しくない場合、認証は失敗し、関数は false を返します。

警告

tag の長さをこの関数はチェックしません。 この値の長さは openssl_encrypt() を呼び出した時に取得できるものと一致させなければならず、それは呼び出し側の責任です。 一致しない場合でも、与えられた値が適切な tag の先頭部分と一致した場合に復号が成功するかもしれません。

aad

追加の認証済みデータ。

戻り値

成功した場合復号化された文字列、失敗した場合に false を返します。

エラー / 例外

cipher_algo パラメータに未知の暗号アルゴリズムが渡された場合、 E_WARNING レベルのエラーが発生します。

iv パラメータに空の値が渡された場合、 E_WARNING レベルのエラーが発生します。

変更履歴

バージョン説明
8.1.0tag は、nullable になりました。
7.1.0tag および aad パラメータが追加されました。

参考

To Top