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 - Manual: sodium_crypto_aead_chacha20poly1305_ietf_decrypt
2024-12-22
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_aead_chacha20poly1305_ietf_decrypt — Verify that the ciphertext includes a valid tag
$ciphertext
,$additional_data
,$nonce
,$key
Verify then decrypt with ChaCha20-Poly1305 (IETF variant).
The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both.
ciphertext
Must be in the format provided by sodium_crypto_aead_chacha20poly1305_ietf_encrypt() (ciphertext and tag, concatenated).
additional_data
Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.
nonce
A number that must be only used once, per message. 12 bytes long.
key
Encryption key (256-bit).
Returns the plaintext on success, 或者在失败时返回 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
官方地址:https://www.php.net/manual/en/function.sodium-crypto-aead-chacha20poly1305-ietf-decrypt.php