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