function generate($number)
{
$array = 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","0","1","2","3","4","5","6,","7","8","9");
$pass = "";
for ($i=0; $i < $number; $i++)
{
$index = mt_rand(0, count($array) - 1);
$pass .= $array[$index];
}
return $pass;
}
Вот и все генератор готов! Пользуйтесь кому надо!

Спустя 3 минуты, 35 секунд (6.11.2009 - 16:31) glock18 написал(а):
Dron19
че-т он какой-то жутко ненастраиваемый.
даже длину пароля не настроить или набор символов, не правя саму функцию.
да, кстати. может опечатка -
это стало быть означает 8 итераций. а почему все лежит в первой части (инициализиции) цикла?
че-т он какой-то жутко ненастраиваемый.
даже длину пароля не настроить или набор символов, не правя саму функцию.
да, кстати. может опечатка -
for ($i=0,$i<8,$i++)
это стало быть означает 8 итераций. а почему все лежит в первой части (инициализиции) цикла?
Спустя 25 минут, 56 секунд (6.11.2009 - 16:57) Dron19 написал(а):
Сейчас я его немножко видоизменю!

Спустя 5 минут, 12 секунд (6.11.2009 - 17:02) Dron19 написал(а):
Просто вставьте этот код и он будет работать!

Спустя 2 минуты, 58 секунд (6.11.2009 - 17:05) stepan написал(а):
Можно гораздо все проще сделать
это схематичный вариант генерации паролей
это схематичный вариант генерации паролей
$password = substr ( md5 ( time ( ) ), 0, 6);
Спустя 3 минуты, 41 секунда (6.11.2009 - 17:09) twin написал(а):
stepan
Не, хрень это.
Не, хрень это.
Спустя 9 минут, 4 секунды (6.11.2009 - 17:18) stepan написал(а):
Цитата (twin @ 6.11.2009 - 14:09) |
Не, хрень это. |
Вполне возможно это и хрень, но я примерно такой хренью пользуюсь.
А сможешь написать свою профессиональную хрень генерации паролей...

Спустя 36 секунд (6.11.2009 - 17:19) glock18 написал(а):
stepan
всего только 16 символов для формирования пароля?
6 символов в пароле. слабенький пароль получается
всего только 16 символов для формирования пароля?
6 символов в пароле. слабенький пароль получается
Спустя 1 минута, 24 секунды (6.11.2009 - 17:20) stepan написал(а):
Цитата (glock18 @ 6.11.2009 - 14:19) |
слабенький пароль получается |
Ну так при возможности можно увеличить.
Спустя 5 минут, 22 секунды (6.11.2009 - 17:25) glock18 написал(а):
stepan
тут не в этом дело. md5 хэш - 16ичное число. то есть символы в нем только [0-9abcdef] - в этом дело.
тут не в этом дело. md5 хэш - 16ичное число. то есть символы в нем только [0-9abcdef] - в этом дело.
Спустя 3 минуты, 23 секунды (6.11.2009 - 17:29) twin написал(а):
Цитата |
Вполне возможно это и хрень, но я примерно такой хренью пользуюсь. А сможешь написать свою профессиональную хрень генерации паролей... |
<?php
function generate($number)
{
$arr1 = range('a', 'z');
$arr2 = range(0, 9);
$arr3 = array('$','%','@','!',':','(', ')');
$array = array_merge($arr1, array_merge($arr2, $arr3));
shuffle($array);
$pass = array_slice($array, 0, $number);
return implode('', $pass);
}
echo generate(10);
Лень заполнять последний массив всякими бяками. А про md5 glock18 уже все сказал.
Спустя 4 минуты, 31 секунда (6.11.2009 - 17:33) stepan написал(а):
Цитата (twin @ 6.11.2009 - 14:29) |
массив всякими бяками |
Цитата (glock18 @ 6.11.2009 - 14:25) |
в этом дело. |
я думаю для стартовой генерации этого достаточно, а в дальнейшем юзеры пускай меняют себе пароль если хотят.
Тем более я в первом посте не увидел всяких разных знаков поэтому я подумаю что этого будет достаточно и он будет короче чем как в первом.
Да для более сложного понадобится и расписать - убедили

Спустя 1 минута, 3 секунды (6.11.2009 - 17:34) glock18 написал(а):
Вообще странно... Неужели написать "генератор" паролей сложно? Всегда казалось, что задача из разряда "сделал за пять минут с нуля". А если регаешься где, то можно просто по sn5kdfboh5mb (потыкать беспорядочно по клаве) - и норм

Спустя 5 минут, 24 секунды (6.11.2009 - 17:40) Dron19 написал(а):
Как Вам мой генератор? Интересно узнать Ваше мнение!
Спустя 3 минуты, 36 секунд (6.11.2009 - 17:43) stepan написал(а):
Цитата (glock18 @ 6.11.2009 - 14:34) |
(потыкать беспорядочно по клаве) - и норм |
А если регистрирует их какой то человек, типа операционистки, то вот здесь для облегчения ее жизни, оно и понадобится.
Спустя 3 минуты, 18 секунд (6.11.2009 - 17:47) Dron19 написал(а):
Скажите пожалуйста Ваше мнение

Спустя 2 минуты, 1 секунда (6.11.2009 - 17:49) twin написал(а):
Цитата |
Как Вам мой генератор? Интересно узнать Ваше мнение! |
Нормально... Неоптимально немного, можно без цикла. Ну и то, что к-во символов маловато для серьёзного пароля.
Спустя 2 минуты, 2 секунды (6.11.2009 - 17:51) Michael написал(а):
Цитата (Dron19 @ 6.11.2009 - 14:40) |
Как Вам мой генератор? Интересно узнать Ваше мнение! |
Крутющий что еще сказать, алгоритм сложный, хитрый, нетипичный, "с изюминкой".

Одно жаль - что по кибернетике не вручают Нобелевскую премию ...
Спустя 17 часов, 23 минуты, 8 секунд (7.11.2009 - 11:14) ИНСИ написал(а):
я по другому делаю, пример:
$distinct_password = uniqid();
Спустя 3 дня, 27 минут, 27 секунд (10.11.2009 - 11:41) eXtent написал(а):
Генератор паролей на PHP
Добрый день! Напишем простой генератор паролей,с выбором кол-ва символов. Он может пригодиться на сайте с регистрацией, где пользователь сможет подобрать себе неузнаваемый пароль. Итак приступим.
1 Шаг. Создаем форму, в которой будем вводить необходимое число символов пароля. Для начала создадим файл к примеру index.php, в который вставим код формочки для генирации пароля. (Комментарии в коде).
<form method=post>
<input type=text name=number value="10">
<input type=submit value="Генерировать">
<form>
2 Шаг. После формочки пишем PHP код, который будет генерировать сам пароль.
<?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;
}
?>
Вот и все. Теперь у вас есть генератор паролей на PHP. Усовершенствуйте, а также пишите комментарии.

Автор: (с) Ma][
Спустя 52 минуты, 32 секунды (10.11.2009 - 12:34) Romms написал(а):
eXtent, Вопрос: почему у тебя каждая строчка отделяется ещё одной ПУСТОЙ строчкой? Мотать твои коды - дурное действия 

Спустя 7 минут, 55 секунд (10.11.2009 - 12:42) eXtent написал(а):
Romms,
Исправил))
Исправил))
Спустя 1 минута, 9 секунд (10.11.2009 - 12:43) Romms написал(а):
Цитата (welbox2 @ 7.11.2009 - 08:14) |
я по другому делаю, пример: $distinct_password = uniqid(); |
По моему этот лучший способ!
welbox2, спасибо!

Спустя 10 минут, 47 секунд (10.11.2009 - 12:54) eXtent написал(а):
Цитата (Romms @ 10.11.2009 - 09:43) | ||
|
Интересный вариант =)
Спустя 43 минуты, 8 секунд (10.11.2009 - 13:37) ИНСИ написал(а):
Romms всегда пожалуйста =)
eXtent и интересный и простой =)
eXtent и интересный и простой =)
Спустя 1 час, 2 минуты, 50 секунд (10.11.2009 - 14:40) Gabriel написал(а):
echo generate_password($_POST['number']);
function generate_password($number){
я чегото непонимаю? сначала выводим сгенерированный пароль на экран, а потом запускаем функцию с неизвесным параметром $number?
Спустя 2 дня, 22 часа, 9 минут, 26 секунд (13.11.2009 - 12:49) ИНСИ написал(а):
stepan +5

Спустя 5 часов, 18 минут, 12 секунд (13.11.2009 - 18:07) Trivium написал(а):
если брать substr из md5 то пароли могут повторяться... тем более всего 6 символов
2Dron19:
Ну ваще сойдёт, но таких генераторов на PHP в инете пруд пруди)
2Dron19:
Ну ваще сойдёт, но таких генераторов на PHP в инете пруд пруди)
Спустя 10 дней, 1 час, 31 минута, 18 секунд (23.11.2009 - 19:38) Danusya написал(а):
Из учебника по PHP 
(с) Ларри Ульман

<?php
$String = "This is the text which will be encrypted so that we may create random and secure passwords!";
$Length = 8 ; // Измените это значение, чтобы установить длину пароля. 32 символа - максимум.
$String = md5($String);
$StringLength = strlen($String);
srand ((double) microtimeO * 1000000);
$Begin = rand(0,($StringLength-$Length-l)); // Получить произвольную стартовую точку.
$Password = substr($String, $Begin, $Length);
print ("Your recommended password is:<PxBIG>$Password</BIG>\n");
?>
(с) Ларри Ульман

Спустя 6 часов, 53 минуты, 48 секунд (24.11.2009 - 02:32) Dron19 написал(а):
Если уж дело пошло к функции uniqid, то лучше сделать так, $test = md5(uniqid(rand(),1)); так труднее угадать!
_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все