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-битные одноразовые номера и 32-битные внутренние счётчики вместо 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