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

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

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

О блоге и авторе

Добро пожаловать на блог веб-разработчика! На протяжении многих лет, начиная с 2009 года, я занимаюсь созданием специализированных сайтов, сервисов и крупных веб-порталов. Мною было создано несколько сотен сайтов, большинство из которых работают на ПО созданном под заказ, а также на готовом ПО которое я разрабатываю на протяжении всего периода моей деятельности. Это: CMS "Совместные покупки", CMS "osRealty", CMS "Спорт прогнозы" и многое другое.

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

Поиск по блогу
Категории
Архив
Новое на сайте
Блогеры пишут
  • Роман Чернышов: Для работы капчи на PHP 5.6, замените в файле class.captcha.php строку 264 $ifunc( $this -> i [...]
  • Роман Чернышов: Схема такая: 1) На сайте есть виртуальные кошельки (далее ВК) 2) При пополнении пользователем ВК, [...]
  • Александр: Может скрипт комментариев блокирует сообщения с кодом? Или как длинный текст не проходит?
  • Александр: Пытаюсь в который раз здесь показать код, но страница обновляется, и не сообщения, ни любого оповеще [...]
  • Роман Чернышов: Лично у меня интерес к продаже ссылок пропал уже давно. Преимущество сапы, это то - что ссылки можно [...]
Портфолио Все работы

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 сайтов...