Может ли str_shuffle вернуть не случайный результат?

0

Сегодня я натыкаюсь на код, который я написал около 10 месяцев назад:

$password = substr(str_shuffle('abcdefghijklmnopqrstuvwxyz0123456789'), 0, 8);

Я считаю, что я выбрал этот код, потому что он довольно прост и не требует дополнительного обслуживания.

Необходимость генерировать пароль заключается в том, что официант заполняет форму быстрой регистрации от имени клиента, и мы просто отправляем пароль указанному клиенту.

Теперь мой вопрос затрагивает возможность генерации пароля "12345678". Я понимаю споры между возможностью и вероятностью в этом случае, но все же представляю себе, что вы подписались на программу, и вы получаете такой ленивый пароль, не могли бы вы подвергнуть сомнению их безопасность?

Теги:
passwords

1 ответ

2
Лучший ответ

Хотя маловероятно, это не невозможно

Простая обертка

$characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
do {
    $password = substr(str_shuffle($characters), 0, 8);
} while (strpos($characters, $password) !== false);

будет гарантировать, что сгенерированный пароль не является последовательностью, которая фактически отображается в последовательности символов

  • 0
    О, ты чертовски хорош. Это довольно гениально и помогает мне упростить код. Спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню