Генератор Паролей На Php

Lomanu4

Проверенный
Сообщения
15
Симпатии
20
Баллы
3
#1
Пароль генерируется случайным образом при помощи функции uniqid. Эта функция возвращает уникальный идентификатор, основываясь на значениях текущего времени в микросекундах.

При таком варианте использования функции возвращается 128-битный хеш-код

Генерация пароля по аглоритму MD5
Код:
<?php
   $id = md5(uniqid(rand(),true));
   print $id."<br>";
?>
Однако полученный пароль содержит лишь буквы английского языка в нижнем регистре и цифры. Для генерации более стойкого к подбору паролей можно воспользоваться скриптом приведённым ниже.

Генерация "равномерного" пароля
Код:
<form method="post">
<input type="text" name="number" value="10">
<input type="submit" value="Генерировать">
<form><br><br>
<?php
  // Параметр $number - сообщает число
  // символов в пароле
  echo generate_password(intval($_POST['number']));

  function generate_password($number)
  {
    $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++)
    {
      // Вычисляем случайный индекс массива
      $index = rand(0, count($arr) - 1);
      $pass .= $arr[$index];
    }
    return $pass;
  }
?>

Пожалуйста, Войдите или Зарегистрируйтесь для просмотра скрытого текста.