Простая генерация паролей на PHP

Бывают времена, когда фантазия иссякает, руки набивают одни и те же случайные композиции цифробукв, а срочно надо придумать 10-20-30 новых паролей (например, при создании списка доступа для группы пользователей). В таких случаях мне пригождалась одна простенькая функция на PHP. Иногда она даже генерировала очень забавные слова. Предвосхищая выкрик из зала по поводу возможности использования подстроки хэша md5 от случайного числа - substr(md5(time()), 0, 8) - да, можно, но в таком случае мы имеем набор лишь из lowercase латиницы и цифр. В данном же примере, мы получаем пароль чуток поинтереснее за счет расширенного набора символов.

function pwgen($len=8, $charset='')
{
if ($charset == '')
$charset="abcdefghijklmnopqrstuvwxyz" .
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*";
$res = '';
$num = strlen($charset);
for ($i=0; $i < $len; $i++)
{
$idx = mt_rand(0, $num-1);
$char = $charset[$idx];
$res .= $char;
}
return ($res);
}

· Добавьте на news2.ru

Похожие записи:

  • No related posts

5 Комментариев »

  1. host said,

    Октябрь 31, 2006 @ 15:11

    сгенерить - эт хорошо, а вот хранить то где?

  2. Mikhail said,

    Октябрь 31, 2006 @ 19:12

    2host: в смысле хранить? хранят обычно же только хэши паролей. Тут решалась проблема придумывания :)

  3. elliot said,

    Февраль 1, 2007 @ 04:10

    А хранить, товарищи нужно в БД.

  4. Mikhail said,

    Февраль 1, 2007 @ 07:29

    elliot: хранить в БД сами пароли, а не их хэши - имхо, нехорошо.

  5. Elf said,

    Апрель 9, 2008 @ 12:15

    Спасибо! Полезная функция

RSS feed for comments on this post · TrackBack URI.

Прокомментируйте