2016-08-25 1 views
0

Libsodium рекомендует выбрать максимальный объем памяти, который вы «гарантировал, чтобы иметь доступ» при использовании функции хеширования Argon2. Моя проблема в том, как мы это узнаем? Из того, что я понимаю, так как мой сайт является интерактивным (т.е. использует MySQL, несколько запросов страниц и т.д.), я мог бы работать в различных ситуациях, как:Выбор MemoryLimit для Argon2 в PHP

  1. Имея несколько пользователей доступ к той же функции хеширования постранично примерно то же самое время, перегрузка системы и нехватка физической памяти,
  2. Доступ пользователей к другим страницам, использование памяти которых сводится к созданию аналогичного «сбоя», как только один пользователь пытается использовать эту функцию,
  3. Сочетание двух

Obvi Вероятно, вероятность этого невелика, а тем более так много пользователей, использующих сервер в одно и то же время. Однако, если мне нужен самый сильный хэш, который я могу себе позволить, мне нужно знать это хотя бы грубо. Всего у меня всего 1 ГБ ОЗУ.

Есть ли какие-либо проверки памяти, которые я могу поместить в свои PHP-скрипты, чтобы убедиться, что сервер не сбой? Я ничего не могу сделать?

(См: https://download.libsodium.org/libsodium/content/password_hashing/the_argon2i_function.html)

ответ

0

Если вы обеспокоены истощением памяти, выделить некоторое пространство подкачки.

Вы обязательно захотите использовать как минимум 32 МБ ОЗУ и> = 3 прохода. \Sodium\CRYPTO_PWHASH_*_INTERACTIVE дает вам этот минимальный порог.

Смежные вопросы