Сегодня я натыкаюсь на код, который я написал около 10 месяцев назад:
$password = substr(str_shuffle('abcdefghijklmnopqrstuvwxyz0123456789'), 0, 8);
Я считаю, что я выбрал этот код, потому что он довольно прост и не требует дополнительного обслуживания.
Необходимость генерировать пароль заключается в том, что официант заполняет форму быстрой регистрации от имени клиента, и мы просто отправляем пароль указанному клиенту.
Теперь мой вопрос затрагивает возможность генерации пароля "12345678". Я понимаю споры между возможностью и вероятностью в этом случае, но все же представляю себе, что вы подписались на программу, и вы получаете такой ленивый пароль, не могли бы вы подвергнуть сомнению их безопасность?
Хотя маловероятно, это не невозможно
Простая обертка
$characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
do {
$password = substr(str_shuffle($characters), 0, 8);
} while (strpos($characters, $password) !== false);
будет гарантировать, что сгенерированный пароль не является последовательностью, которая фактически отображается в последовательности символов