Генератор паролей на PHP

В этом уроке мы научимся создавать скрипт генератор паролей заданной длины. Этот скрипт можно использовать в различных случаях. Например, для генерации пароля при регистрации на сайте, при восстановлении пароля.

Давайте начнем. Для начала создадим функцию и назовем ее randomPassword. Функция имеет два параметра - $length и $allow. В параметр $length вноситься значения дли пароля, которое будет генерироваться. Параметр $allow является необязательным. Он показывает, какие символы будут сгенерированы. Для примера возьмем все строчные буквы и цифры от 0-9.

function  randomPassword($length, $allow =  "abcdefghijklmnopqrstuvwxyz0123456789") {

Следующим шагом создадим количество циклов, которые указаны в параметре $length. Для примера в этом цикле мы будем генерировать один случайный параметр, который добавим в окончательный случайный пароль.

					$i = 1; 
					while ($i <= $length) {
				

Теперь сгенерируем случайное число между 0 и количеством символов в параметре $allow и отнимем 1. Итак, если есть более 20 символов, случайное число генерируется между 0 и 19 – это потому, что в коде используется функция strlen() которая является ссылкой первый символ строки в качестве 0 вместо 1.

					$max  = strlen($allow)-1;
					$num  = rand(0, $max);
				

Далее случайны случайным образом из параметра $allow выбирается значение. Затем это значение добавляется в переменную $ret, которая и будет нашим случайным паролем.

					$temp =  substr($allow, $num, 1);
					$ret  = $ret . $temp;
				

После окончания цикла возвращается сгенерированный пароль. Наша функция завершена

				$i++;
			      }
			      return $ret;
			      }
				

Все, что осталось сделать сейчас, это запустить функцию в коде для генерации паролей, где нам нужно. Это делается просто вот так:

$password =  randomPassword(10);

Приведенный выше пример будет генерировать случайные пароли из 10 символов. Вот еще один пример.

$password =  randomPassword(10, '0123456789');

Приведенный выше пример будет генерировать случайные пароли из 10 символов и содержит только цифры.
Вот и все! И в конце привожу полный вид функции:

			    function  randomPassword($length, $allow =  "abcdefghijklmnopqrstuvwxyz0123456789") {
			    $i = 1;
			      while ($i <= $length) {
			     
			      $max  = strlen($allow)-1;
			      $num   = rand(0, $max);
			      $temp = substr($allow, $num, 1);
			      $ret   = $ret . $temp;
			      $i++;
			      }
			      return $ret;
			    
			      }
			    
Просмотров: 1220      Опубликовал: Евгений Фединчик      Дата: 05.03.2010 12:29:10
  • Понравился урок? Добавьте его к себе в закладки.

    Последние уроки категории:

    Сокращение PHP кода

    Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...

    Видимость переменных в PHP

    В данном уроке рассматривается область видимости переменных PHP. Объясняется различие локальной и глобальной области видимости, показывается как получить доступ к глобальным переменным внутри функции, как работать с суперглобалами и создавать статические переменные.

    Как читать Rss ленты?

    Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.

    Установка и настройка PHP+Apache

    В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.

    Как выбрать фреймворк

    Так уж повелось, что лень – это двигатель прогресса и как бы странно это не звучало, все те блага цивилизации, которые мы имеем сейчас были сделаны в первую очередь для нашего комфорта. Так и программисты чтобы облегчить себе жизнь и тем самым получить возможность создавать более сложные проекты за менее долгое время придумали сделать себе фреймворки.

    Комментарии:

    • Осталось: 1000 символов.
      Сохранить комментарий Отправка комментария
    lessons
    downloads
    search
    hosting

    Ищите хороший и не дорогой хостинг?

    Хостинг avahost.ua
    VPS VDS - виртуальный выделенный сервер
    sistems
    RBK Money

    Обменник.ws
    Статистика HitUa