(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_decrypt — データを復号する
$data
,$cipher_algo
,$passphrase
,$options
= 0,$iv
= "",$tag
= null
,$aad
= ""未加工の、または base64 エンコードされた文字列を受け取り、 与えられた暗号化方式とパスフレーズを使って文字列を復号します。
data
復号化する、暗号化されたメッセージ。
cipher_algo
暗号化方式。利用可能な暗号化方式のリストについては、 openssl_get_cipher_methods() を使用してください。
passphrase
パスフレーズ。
期待した長さより短かった場合は、
黙ってNUL
文字で埋められます。
期待した長さより長かった場合は、
黙って切り詰められます。
passphrase
は、
その名前から連想されるような安全な鍵生成機能は内包していません。
唯一行う操作は、期待する鍵長と異なる場合に NUL
で
パディングしたり、切り詰めたりするだけです。
options
OPENSSL_RAW_DATA
,
OPENSSL_ZERO_PADDING
,
OPENSSL_DONT_ZERO_PAD_KEY
のいずれか。
iv
null
ではない初期化ベクトル。 IV が期待するものよりも短い場合は、
NUL
文字でパディングされ、警告が発生します。
パスフレーズが期待するものよりも長い場合は、
切り捨てられ、警告が発生します。
tag
AEAD 暗号モードの認証タグ。
正しくない場合、認証は失敗し、関数は false
を返します。
tag
の長さをこの関数はチェックしません。
この値の長さは openssl_encrypt()
を呼び出した時に取得できるものと一致させなければならず、それは呼び出し側の責任です。
一致しない場合でも、与えられた値が適切な
tag の先頭部分と一致した場合に復号が成功するかもしれません。
aad
追加の認証済みデータ。
成功した場合復号化された文字列、失敗した場合に false
を返します。
cipher_algo
パラメータに未知の暗号アルゴリズムが渡された場合、
E_WARNING
レベルのエラーが発生します。
iv
パラメータに空の値が渡された場合、
E_WARNING
レベルのエラーが発生します。
バージョン | 説明 |
---|---|
8.1.0 | tag は、nullable になりました。 |
7.1.0 | tag および aad パラメータが追加されました。 |