Как часто вам приходится менять пароль от своего аккаунта? Смею предположить что многие стараются менять пароль как можно чаще, например раз в три месяца. При создании нового пароля перед многими встает проблема в том, как придумать стойкий пароль и сколько символов в пароле должно быть. Некоторые вообще не заботятся о стойкости своего пароля и в качестве пароля выбирают дату своего рождения. Те, кому уже приходилось терять доступ к своему аккаунту - уже задумались о длине и стойкости пароля и придумали сложный пароль. Однако, при создании нового пароля, многие находятся в поиске специализированных программных средств для создания пароля. Давайте рассмотрим пример генерации пароля на PHP: <?php //Задаем длину пароля $length = 8; //Массив символов, из которых будет генерироваться пароль $arr = array('q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm', 'Q', 'W', 'E', 'R', 'T', 'Y','U', 'I', 'O', 'P', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); //Инициализация переменой, которая будет содержать пароль $password = ''; //Генерация пароля for ($i = 0; $i < $length; $i++) { $index = rand(0, count($arr) - 1); $password .= $arr[$index]; } //Выводим полученный пароль в браузер echo $password; ?> Код довольно прост: переменная length задает длину пароля, которая равна 8 символам. Далее нужно создать массив символов, из которых будет складываться пароль. Пароль сохраняется в переменной password, но прежде всего эту переменную необходимо инициализировать, что мы и делаем задав переменной пустое значение. Далее идет цикл, который можно назвать "сердцем" программы. В цикле мы задаем условие, по которому происходит генерация пароля: увеличивать значение счетчика, пока он не достигнет значения, заданного в переменной length. В теле цикла происходит следующее: в переменную index попадает номер элемента в массиве, который выбирается случайным образом. Затем в переменную password попадает сам символ массива. Тело цикла выполняется ровно столько, сколько указанно в переменной length. После выполнения цикла, управление передается оператору echo, который выводит в браузер готовый пароль. Таким образом происходит генерация пароля случайным образом, который будет устойчив к перебору. Разумеется, если задать пароль в два символа, то такой пароль не будет считаться стойким, а вот если он будет содержать 8-10 символов, то взломщик быстрее состарится, прежде чем сможет подобрать пароль. 2011-10-23 14:41 Понравился сайт? Расскажи о нем друзьям:
Comments to Notes: 1 |
Almaz
$newsPass='';
$characters="1234567890abcdefghijklnopqrstuvwxyzABCDEFGHIJKLNOPQRSTUVWXYZ";
for($i=0;$i<=7;$i++)
$newsPass.=substr($characters,rand(0,strlen($characters)),1);
2013-02-04 04:37:58