Генерация пароля на PHP, три уровня сложности.

Author Роман Чернышов    Category PHP     Tags , , , , Комментариев 0 Дата 28 Янв

password Генерация пароля на 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 и все спец. символы. Пароль получится реально сложным))

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

Оставить комментарий

Консультации

Консультант Чернышов Р.В. Зайдайте вопрос на любую из тем:
Бесплатно и без регистрации!

Задать вопрос
Все вопросы
Последние вопросы
Поиск по блогу
Категории
Архив
Новое на сайте
Портфолио Все работы


www.detskiy-mir.net
www.detskydoctor.ru
www.betelit.ru
www.all-alliance.ru
www.videogonok.ru
www.carpfishing.by
www.property-greek.com
www.domcons.ru

с 2009 года по сегодняшний день, создано более 300 сайтов...