[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Генератор паролей
Dron19
Решил поделиться своим генератором паролей

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;
}

Вот и все генератор готов! Пользуйтесь кому надо! wink.gif



Спустя 3 минуты, 35 секунд (6.11.2009 - 16:31) glock18 написал(а):
Dron19
че-т он какой-то жутко ненастраиваемый.

даже длину пароля не настроить или набор символов, не правя саму функцию.

да, кстати. может опечатка -
for ($i=0,$i<8,$i++)

это стало быть означает 8 итераций. а почему все лежит в первой части (инициализиции) цикла?

Спустя 25 минут, 56 секунд (6.11.2009 - 16:57) Dron19 написал(а):
Сейчас я его немножко видоизменю! wink.gif

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

Спустя 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)
Не, хрень это.

Вполне возможно это и хрень, но я примерно такой хренью пользуюсь.
А сможешь написать свою профессиональную хрень генерации паролей... biggrin.gif

Спустя 36 секунд (6.11.2009 - 17:19) glock18 написал(а):
stepan
всего только 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] - в этом дело.

Спустя 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)
в этом дело.

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

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

Спустя 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 написал(а):
Скажите пожалуйста Ваше мнение rolleyes.gif

Спустя 2 минуты, 1 секунда (6.11.2009 - 17:49) twin написал(а):
Цитата
Как Вам мой генератор? Интересно узнать Ваше мнение!

Нормально... Неоптимально немного, можно без цикла. Ну и то, что к-во символов маловато для серьёзного пароля.

Спустя 2 минуты, 2 секунды (6.11.2009 - 17:51) Michael написал(а):
Цитата (Dron19 @ 6.11.2009 - 14:40)
Как Вам мой генератор? Интересно узнать Ваше мнение!

Крутющий что еще сказать, алгоритм сложный, хитрый, нетипичный, "с изюминкой". wink.gif
Одно жаль - что по кибернетике не вручают Нобелевскую премию ...

Спустя 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. Усовершенствуйте, а также пишите комментарии. wink.gif

Автор: (с) Ma][

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

Спустя 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, спасибо! wink.gif

Спустя 10 минут, 47 секунд (10.11.2009 - 12:54) eXtent написал(а):
Цитата (Romms @ 10.11.2009 - 09:43)
Цитата (welbox2 @ 7.11.2009 - 08:14)
я по другому делаю, пример:

$distinct_password = uniqid();



Интересный вариант =)

Спустя 43 минуты, 8 секунд (10.11.2009 - 13:37) ИНСИ написал(а):
Romms всегда пожалуйста =)

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 biggrin.gif

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

Спустя 10 дней, 1 час, 31 минута, 18 секунд (23.11.2009 - 19:38) Danusya написал(а):
Из учебника по PHP biggrin.gif

<?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");
?>


(с) Ларри Ульман huh.gif

Спустя 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 - Намерен учить все
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.