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 — Vérifie que le texte chiffré inclut une étiquette valide
$ciphertext,$additional_data,$nonce,$keyVérifie puis déchiffre avec ChaCha20-Poly1305 (variante IETF).
La variante IETF utilise des nonces de 96 bits et des compteurs internes de 32 bits, au lieu de 64 bits pour les deux.
ciphertextDoit être au format fourni par sodium_crypto_aead_chacha20poly1305_ietf_encrypt() (texte chiffré et étiquette, concaténés).
additional_dataAdditionnel, données authentifiées. Cela est utilisé dans la vérification de l'étiquette d'authentification ajoutée au texte chiffré, mais il n'est pas chiffré ou stocké dans le texte chiffré.
nonceUn nombre qui doit être utilisé une seule fois, par message. 12 octets de long.
keyLa clé de chiffrement (256 bits).
Renvoie le texte en clair en cas de succès, ou false si une erreur survient.
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