Чёт я ударился в безопасность, не к добру это ;)

Дак о чём это я, наверняка вы, как и я, постоянно сталкиваетесь в надобность регистрации где-либо(на форуме, сайте, чате и т.п) И везде нужен пароль. Некоторые несознательные товарищи используют 2-3 пароля для всего, либо делают 2-3 уникальных на самое нужное(мыло, админку на сайте), а остальное забивают одним.

В принципе это - выбор каждого, но сегодня мы пишем генератор паролей=)

Читал как-то в книжке про нечто подобное, когда из хеш-строки(md5), но я решил что это слишком просто, а посему немного усовершенствовал:

  1. <?php
  2. function gen_pass($n){
  3.     //Строка с паролем пока пуста
  4.     $pass = "";
  5.     for ($i=0; $i<$n; $i++){
  6.         //генерируем псевдослучайный хеш и обрезаем его
  7.         $pass.= substr(md5(uniqid(mt_rand(),true)),0,1);
  8.         //генерируем случай повышения регистра символов
  9.         $invert = mt_rand(1,5);
  10.         //Инвертируем регистр символа если переменная равна 1
  11.         if ($invert==1) $pass[$i] = strtoupper($pass[$i]);
  12.     }
  13.     return $pass;
  14. }
  15. //Выводим свеже-сгенерированный пасс
  16. echo gen_pass(10);
  17. ?>

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