Генерация пароля на PHP, три уровня сложности.
Работая над очередным проектом, разрабатываемым с нуля, пришла необходимость автоматически генерировать пароли для пользователей при регистрации. Более того, для данного проекта предусматривался платный доступ к определенным разделам. Для защиты которых был выбран так же банальный способ — все под пароль. Разумеется и для реализации этого, требовалось генерировать пароли, но уже более сложные.
Разумеется далеко для поиска функции генерации паролей ходить ненужно, гугл к счастью работает исправно. Но вот именно такой функции, которая могла бы генерировать пароли разной степени сложности в зависимости от наших пожеланий я не нашел. Поэтому доработал то, что было и этим хочу поделиться с вами. А заодно добавить в свой блог полезную для меня заметку))
Собственно сам код на PHP:
function genpass($number, $param = 1) { $arr = array('a','b','c','d','e','f', 'g','h','i','j','k','l', 'm','n','o','p','r','s', 't','u','v','x','y','z', 'A','B','C','D','E','F', 'G','H','I','J','K','L', 'M','N','O','P','R','S', 'T','U','V','X','Y','Z', '1','2','3','4','5','6', '7','8','9','0','.',',', '(',')','[',']','!','?', '&','^','%','@','*','$', '<','>','/','|','+','-', '{','}','`','~'); // Генерируем пароль $pass = ""; for($i = 0; $i < $number; $i++) { if ($param>count($arr)-1)$param=count($arr) - 1; if ($param==1) $param=48; if ($param==2) $param=58; if ($param==3) $param=count($arr) - 1; // Вычисляем случайный индекс массива $index = rand(0, $param); $pass .= $arr[$index]; } return $pass; } genpass(10, 1); // генерирует пароль из 10 символов содержащий буквы в верхнем и нижнем регистре genpass(10, 2); // генерирует пароль из 10 символов содержащий буквы в верхнем и нижнем регистре, а также цифры от 0 до 9 genpass(10, 3); // генерирует пароль из 10 символов содержащий буквы в верхнем и нижнем регистре, цифры от 0 до 9 и все спец. символы. Пароль получится реально сложным)) |
И так первое значение это длина пароля, второе уровень сложности. Разобраться во всем довольно таки просто. Кстати я даже на одном из своих сайтов заменил стандартный скрипт генерации паролей на эту небольшую функцию.

Автор:






