В этом уроке вы узнаете, как генерировать случайные пароли с помощью удобной функции PHP.
Всегда лучше использовать случайно сгенерированный пароль, а не ваше имя, день рождения, город и т. Д. В настоящее время большинство регистрационных форм требуют, чтобы вы вводили безопасный пароль и показывали предупреждающее сообщение, если пароль слишком простой. Если вы создаете систему регистрации для своего PHP-проекта, будет полезно предложить пароль людям, которые регистрируются. Используя PHP, довольно просто сгенерировать случайный пароль.
Используя функцию ниже, вы можете указать, какие символы должны содержать ваши пароли, какая длина пароля и сколько паролей вы хотите сгенерировать. Результатом будет массив с сгенерированными паролями.
<?php
function randomPassword($length,$count, $characters) {
// $length - длина сгенерированного пароля
// $count - количество генерируемых паролей
// $characters - типы символов, которые будут использоваться в пароле
// определяем переменные, используемые в функции
$symbols = array();
$passwords = array();
$used_symbols = '';
$pass = '';
// массив разных типов символов
$symbols["lower_case"] = 'abcdefghijklmnopqrstuvwxyz';
$symbols["upper_case"] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$symbols["numbers"] = '1234567890';
$symbols["special_symbols"] = '!?~@#-_+<>[]{}';
$characters = split(",",$characters); // получитаем типы символов, которые будут использоваться для пароля
foreach ($characters as $key=>$value) {
$used_symbols .= $symbols[$value]; // строим строку со всеми символами
}
$symbols_length = strlen($used_symbols) - 1; //strlen начинается с 0, поэтому для получения количества символов вычитываем 1
for ($p = 0; $p < $count; $p++) {
$pass = '';
for ($i = 0; $i < $length; $i++) {
$n = rand(0, $symbols_length); // получить случайный символ из строки со всеми символами
$pass .= $used_symbols[$n]; // добавляем символ в строку пароля
}
$passwords[] = $pass;
}
return $passwords; // возвращаем сгенерированный пароль
}
$my_passwords = randomPassword(10,1,"lower_case,upper_case,numbers,special_symbols");
print_r($my_passwords);
?>
Вот несколько примеров, как генерировать разные случайные пароли с помощью PHP
// создать один пароль, используя 5 символов верхнего и нижнего регистра
randomPassword(5,1,"lower_case,upper_case");
// создать три пароля, используя 10 строчных букв и цифр
randomPassword(10,3,"lower_case,numbers");
// создать пять паролей, используя 12 символов нижнего и верхнего регистра, цифры и специальные символы
randomPassword(12,5,"lower_case,upper_case,numbers,special_symbols");
Надеюсь, этот урок был полезен для вас! Удачи в ваших проектах!