[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Php генератор пароля
Александр Мохов
Простой генератор пароля из 10 символов. Прошу указать недостатки.
$pc0=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc1=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc2=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc3=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc4=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc5=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc6=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc7=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc8=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pc9=array (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
shuffle ($pc0);
foreach ($pc0 as $value)
$a=$value;
echo $a;
shuffle ($pc1);
foreach ($pc1 as $value)
$a=$value;
echo $a;
shuffle ($pc2);
foreach ($pc2 as $value)
$a=$value;
echo $a;
shuffle ($pc3);
foreach ($pc3 as $value)
$a=$value;
echo $a;
shuffle ($pc4);
foreach ($pc4 as $value)
$a=$value;
echo $a;
shuffle ($pc5);
foreach ($pc5 as $value)
$a=$value;
echo $a;
shuffle ($pc6);
foreach ($pc6 as $value)
$a=$value;
echo $a;
shuffle ($pc7);
foreach ($pc7 as $value)
$a=$value;
echo $a;
shuffle ($pc8);
foreach ($pc8 as $value)
$a=$value;
echo $a;
shuffle ($pc9);
foreach ($pc9 as $value)
$a=$value;
echo $a;




Спустя 2 минуты, 1 секунда (29.08.2011 - 18:04) Игорь_Vasinsky написал(а):
боже мой...

а так не проще

substr(sha1(rand(100, 10000)), 2, 12);

Спустя 8 минут, 3 секунды (29.08.2011 - 18:12) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
а так не проще

Улыбнуло!

Спустя 2 минуты, 6 секунд (29.08.2011 - 18:14) Nikitian написал(а):
Цитата (Игорь_Vasinsky @ 29.08.2011 - 18:04)
боже мой...

а так не проще

<pre class="sh_sourceCode" rel="php"><span class="sh_function">substr</span><span class="sh_symbol">(</span><span class="sh_function">sha1</span><span class="sh_symbol">(</span><span class="sh_function">rand</span><span class="sh_symbol">(</span><span class="sh_number">100</span><span class="sh_symbol">,</span> <span class="sh_number">10000</span><span class="sh_symbol">)),</span> <span class="sh_number">2</span><span class="sh_symbol">,</span> <span class="sh_number">12</span><span class="sh_symbol">);</span></pre>

9900 вариантов, минус возможные коллизии на этом промежутке - это не секурно. Надо хотя бы так:

substr(str_shuffle(sha1(rand(100, 10000))), 2, 12);

Спустя 1 минута, 29 секунд (29.08.2011 - 18:15) Игорь_Vasinsky написал(а):
ну всё не 2 десятка строк

Спустя 2 минуты, 19 секунд (29.08.2011 - 18:18) Игорь_Vasinsky написал(а):
Александр Мохов
недосаток один. много писанины.

Спустя 3 минуты, 22 секунды (29.08.2011 - 18:21) Игорь_Vasinsky написал(а):
Цитата
9900 вариантов, минус возможные коллизии на этом промежутке - это не секурно. Надо хотя бы так:


дамаешь слишком быстро выберет пароль? один нолик к 1000 дописываем и получаем 99900 вариантов... biggrin.gif

Спустя 13 минут, 57 секунд (29.08.2011 - 18:35) YVSIK написал(а):
У Кузнецова и Семирадцева есть скрипт
они берут md5 запускают и обрезают по нужному количеству символов
вобщем как-то так и на выходе получается набор символов и нужной длинны
вот и весь генератор rolleyes.gif

Спустя 4 минуты, 33 секунды (29.08.2011 - 18:40) Игорь_Vasinsky написал(а):
ну здесь тока sh1 - а всё остальное так и есть

Спустя 1 час, 16 минут, 35 секунд (29.08.2011 - 19:56) ИНСИ написал(а):
function uniqidName($len = 7) {
$arr = array_merge( range(0, 9), range('a','z'), range('A', 'Z') );
shuffle($arr);
foreach(array_rand($arr, $len) as $index)
$key .= $arr[$index];
return $key;
}

Спустя 2 часа, 53 минуты, 17 секунд (29.08.2011 - 22:49) walerus написал(а):
ну 1000 раз уже писал тут функцию....
//Генерируем случайный текст
function generateText($length = 10, $small = true, $big = false, $numbers = false)
{
$allowable_characters = '';
if ($small)
$allowable_characters .= 'abcdefghjklmnopqrstuvwxyz';
if ($big)
$allowable_characters .= 'ABCDEFGHJKLMNOPQRSTUVWXYZ';
if (($numbers) || (!$allowable_characters))
$allowable_characters .= '0123456789';

$ps_len = strlen($allowable_characters);
$pass = '';
for($i = 0; $i < $length; $i++)
$pass .= $allowable_characters[mt_rand(0,$ps_len-1)];
return $pass;
}

1001 раз UP B)

Спустя 6 минут, 23 секунды (29.08.2011 - 22:56) Игорь_Vasinsky написал(а):
да ТС просит мнение по своей функции.
Быстрый ответ:

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