Libsodium рекомендует выбирать максимальный объем памяти, которым вы являетесьгарантированный быть доступным »при использовании функции хэширования Argon2. Моя проблема в том, как мы можем это выяснить? Из того, что я понимаю, поскольку мой веб-сайт является интерактивным (т.е. использует MySQL, несколько страниц запросов и т. Д.), Я мог столкнуться с различными ситуациями, такими как:
Очевидно, что вероятность этого довольно мала, и тем более, что одновременно многие пользователи используют сервер. Однако, если мне нужен самый сильный хеш, который я могу себе позволить, мне нужно знать это хотя бы приблизительно. У меня всего 1 ГБ оперативной памяти.
Есть ли какие-нибудь проверки памяти, которые я могу вставить в свои PHP-скрипты, чтобы убедиться, что сервер не падает? Я ничего не могу сделать?
(Увидеть: https://download.libsodium.org/libsodium/content/password_hashing/the_argon2i_function.html)
Если вы беспокоитесь об исчерпании памяти, выделите место подкачки.
Вы определенно захотите использовать как минимум 32 МБ ОЗУ и> = 3 прохода. \Sodium\CRYPTO_PWHASH_*_INTERACTIVE
дает вам этот минимальный порог.
Других решений пока нет …