Кстати, это хорошая тема для другой статьи. Ведь в этой описан только принцип работы, а плюсы и минусы или альтернативные варианты реализации не озвучены.
«Но тогда проверка, авторизирован ли пользователь, будет выглядеть некрасиво...»
В js есть «красивое» приведение к boolean с помощью двух восклицательных знаков:
if(!!req.session.username) {}
Я выбрал наиболее простые инструменты, чтобы написать быстрее и чтобы материал был наиболее понятен.
Как записывать в файлы — это пожалуй вопрос отдельной статьи. Если грубо записать все цепочки в несколько файлов, то в генерации прирост скорости будет, но поиск будет неадекватно долгим.
Все хорошо говорите.
Да, подбор по словарю с точки зрения этих критериев (как можно больше, как можно быстрее) более эффективен.
Но никто не отменял исключительно учебные цели.
Мое лично убеждение заключается в том, что на голых книжных знаниях далеко не пойдешь. Нужно постоянно пробовать новое, изобретать, стараться что-то реализовывать самому. В процессе создания появляются трудности, и только в момент их преодоления ты действительно растешь как личность, растут твои профессиональные качества.
Уникальная для каждого пароля соль — очень простой и эффективный метод борьбы против подбора с помощью радужных таблиц. Она увеличивает длину входных пароля, и создание радужной таблицы под пароли такой длины становиться практически нереально задачей (в наше время по крайней мере).
Я, кажется, понял, о чем речь. В руководстве речь идет о том, что при использовании нового PHP нельзя получить те же числа, что в предыдущих версиях, даже если инициализировать одними и теми же входными значениями.
Для проверки, можно выполнить код — pastebin.
По первому пункту большое спасибо!
А насчет mt_srand — сама суть в том, что нам нужно инициализировать ГПСЧ предсказуемым образом и делать это многократно.
Придумал мне его друг в школе — давно это было, а тогда переводили мы его в более приятном свете. Теперь английским владею лучше, а уже «из песни слов не выкинешь».
В js есть «красивое» приведение к boolean с помощью двух восклицательных знаков:
if(!!req.session.username) {}
Как записывать в файлы — это пожалуй вопрос отдельной статьи. Если грубо записать все цепочки в несколько файлов, то в генерации прирост скорости будет, но поиск будет неадекватно долгим.
Да, подбор по словарю с точки зрения этих критериев (как можно больше, как можно быстрее) более эффективен.
Но никто не отменял исключительно учебные цели.
Мое лично убеждение заключается в том, что на голых книжных знаниях далеко не пойдешь. Нужно постоянно пробовать новое, изобретать, стараться что-то реализовывать самому. В процессе создания появляются трудности, и только в момент их преодоления ты действительно растешь как личность, растут твои профессиональные качества.
Для проверки, можно выполнить код — pastebin.
А насчет mt_srand — сама суть в том, что нам нужно инициализировать ГПСЧ предсказуемым образом и делать это многократно.