Функция генерации паролей повышенной сложности

  1. <?php
  2. /* Функция генерации паролей повышенной сложности */
  3. function passwdGen($minLength = 8, $maxLength = 12, $maxSymbols = 2)
  4. {
  5.     $symbolCount = 0;
  6.     srand((double)microtime() * 1000003);
  7.     for ($i = 0; $i < mt_rand($minLength, $maxLength); $i++)
  8.     {
  9.         do
  10.         {
  11.             $char = mt_rand(33, 126);
  12.             $symbolCount += $isSymbol = (!in_array($char, range(48, 57)) && !in_array($char, range(65, 90)) && !in_array($char, range(97, 122)));
  13.             if ($symbolCount <= $maxSymbols || !$isSymbol)
  14.             {
  15.                 break;
  16.             }
  17.         }
  18.         while (true);
  19.         $passwd = sprintf('%s%c', isset($passwd) ? $passwd : NULL, $char);
  20.     }
  21.     return $passwd;
  22. }
  23. /* пример */
  24. echo htmlspecialchars(passwdGen()); // \QzS@<GW9u>#ypEfvgDh
No comment.

Реклама

Мы в соцсетях

tw tg yt gt