Генератор паролей на PHP

Gezer

Guest
Генератор паролей на PHP

Что-то никак в голову не придет, как сделать подобное:

http://atteam.ru/gen/

Хочу использовать такую фишку при регистрации на моем сайте.
 

SiMM

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

Gezer

Guest
2 SIMM: А есть ли какой нибудь нормальный алгоритм для чередования согласных с гласными, чтобы генерируемые слова выглядели удобочитаемо? Подскажите, как это реализовать...
 

SiMM

Новичок
> есть ли какой нибудь нормальный алгоритм для чередования согласных с гласными
Нет. Пока науке неизвестен смысл понятия "нормальный алгоритм чередования" - и алгоритма быть не может.

> Подскажите, как это реализовать...
> чередуешь согласные с гласными.

> чтобы генерируемые слова выглядели удобочитаемо?
Т.е. чередовать глассные с согласными ты уже пробовал? Приведи код, чтобы в этом можно было убедиться.

PS: есть конкретные вопросы - задавай. А на общие я тебе уже ответил.
 

Huckster

Guest
Бери счастье.
PHP:
//Генерация читаемого пароля
function genPassword($p="", $l=8, $f=4) {
  $d=array("a"=>"ntrsldicmzp","b"=>"euloayribsj","c"=>"oheaktirulc",
       "d"=>"eiorasydlun","e"=>"nrdsaltevcm","f"=>"ioreafltuyc",
       "g"=>"aeohrilunsg","h"=>"eiaotruykms","i"=>"ntscmledorg",
       "j"=>"ueoairhjklm","k"=>"eiyonashlus","l"=>"eoiyaldsfut",
       "m"=>"eaoipsuybmn","n"=>"goeditscayl","o"=>"fnrzmwtovls",
       "p"=>"earolipuths","q"=>"uuuuaecdfok","r"=>"eoiastydgnm",
       "s"=>"eothisakpuc","t"=>"hoeiarzsuly","u"=>"trsnlpgecim",
       "v"=>"eiaosnykrlu","w"=>"aiheonrsldw","x"=>"ptciaeuohnq",
       "y"=>"oesitabpmwc","z"=>"eaiozlryhmt");
  $a=range("a","z");
  $l%=50; $f%=11;
  $p=strtolower(ereg_replace("[^a-zA-Z]","",substr($p,0,$l-1))) or
  $p=$a[rand(0,sizeof($a)-1)];
  while(strlen($p)<$l) {
    $ff = $f;
    while(substr_count($p,substr($p,strlen($p)-1,1).
      ($k=substr($d[substr($p,strlen($p)-1,1)],rand(0,$ff%11),1))))
    if(++$ff>10) break;
    $p.=$k;
  }
  return $p;
}
-~{}~ 18.03.05 16:04:

Правда, не помню, откуда я это взял. Сам не писал. Она пароли генерит какие-то прям на испанском языке :)
 

Gezer

Guest
2 Huckster : О, спасибо, это то, что нужно. Щастье! =)
 

Фанат

oncle terrible
Команда форума
это ж надо столько нагородить вместо примитивного чередования гластых и согласных.
А есть ли какой нибудь нормальный алгоритм для чередования согласных с гласными
приведи пример, когда такое чередование бывает ненормальным
 

untied

Сдвинутый новичок
А еще стихи можно сочинять из паролей...

Кстати, а если гипотетический злоумышленник знает, что пароль был сгенерирован алгоритмом Huckster-а, не будет ли у него преимущества в плане взлома или подбора пароля? :confused:
 

Huckster

Guest
Там есть параметр $l (длина) и $f - фактор, влияющий на случайность.
А так, неплохо генерит, ну не знаю, чем хуже пароля Love2005 или Vasya2004, это же для пользователей. Тем более, я на авторские права не претендую, см. выше. А генерит, действительно, неплохо.
 
Сверху