sodium_crypto_aead_chacha20poly1305_ietf_decrypt function mentions in its documentation that it'll always return a string. But when passed a malformed input as argument, it returns a boolean
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_aead_chacha20poly1305_ietf_decrypt — 暗号化されたテキストが、有効なタグを持っているかを調べる
$ciphertext
,$additional_data
,$nonce
,$key
ChaCha20-Poly1305 を用いてメッセージを検証し、復号します。 (IETF バリアントです)
IETF バリアントは、96ビットの nonce と 32ビットの内部カウンタを持ちます。 標準では、nonce, 内部カウンタともに64ビットです。
ciphertext
sodium_crypto_aead_chacha20poly1305_ietf_encrypt() が生成したフォーマット (暗号化されたテキスト、タグを連結したもの) でなければなりません。
additional_data
追加の認証データ。 これは、 暗号化されたテキストに追加された認証タグを検証するのに用いられますが、 このデータは暗号化されていませんし、 暗号化されたテキストにも保存されていません。
nonce
メッセージごとに一度だけ使われる数値。 長さは12バイトです。
key
暗号化キー(256ビット)
成功時にプレーンテキストを返します。
失敗した場合に false
を返します
sodium_crypto_aead_chacha20poly1305_ietf_decrypt function mentions in its documentation that it'll always return a string. But when passed a malformed input as argument, it returns a boolean