Генератор паролей на PHP
Пароль генерируется случайным образом при помощи функции uniqid. Эта функция возвращает уникальный идентификатор, основываясь на значениях текущего времени в микросекундах.
При таком варианте использования функции возвращается 128-битный хеш-код
Однако полученный пароль содержит лишь буквы английского языка в нижнем регистре и цифры. Для генерации более стойкого к подбору паролей можно воспользоваться скриптом приведённым ниже.
Генерация "равномерного" пароля
<form method=post>
<input type=text name=number value="10">
<input type=submit value="Генерировать">
<form><br><br>
<?php
// Параметр $number - сообщает число
// символов в пароле
echo generate_password($_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;
}
?>