Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Генератор паролей
Форумы портала PHP.SU » » Вопросы новичков » Генератор паролей

Страниц (3): [1] 2 3 »
 

1. vlados - 13 Июля, 2011 - 07:04:26 - перейти к сообщению
Вот у меня есть 3 функции:

Мне надо, чтобы скрипт брал эти значения и делал, 8 символьные пароли. Например:
CODE (htmlphp):
скопировать код в буфер обмена
  1. 1hyF4Kj
  2. pouiytu9
  3. 08978joh
2. Саныч - 13 Июля, 2011 - 07:18:40 - перейти к сообщению
Вы ходь бы описание rand прочитли, там ведь по русски написано "ЧИСЛО"...

PHP:
скопировать код в буфер обмена
  1. $array = array('a', 'b', 'c', 'd'...); //перечисляете все необходимые символы
  2. for ($n = 0, $pass = ''; $n < 8; $n++)
  3.    $pass .= $array[rand(0, count($array) - 1)];
3. vlados - 13 Июля, 2011 - 07:28:31 - перейти к сообщению
Саныч Ха-ха перепутал я немного....
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $a1 = range( 0, 9 );
  3. $a2 = range( 'a', 'z' );
  4. $a3 = range( 'A', 'Z' );
  5.  
  6. print_r($a1);
  7. print_r($a2);
  8. print_r($a3);
  9. ?>

CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => 0
  3.     [1] => 1
  4.     [2] => 2
  5.     [3] => 3
  6.     [4] => 4
  7.     [5] => 5
  8.     [6] => 6
  9.     [7] => 7
  10.     [8] => 8
  11.     [9] => 9
  12. )
  13. (
  14.     [0] => a
  15.     [1] => b
  16.     [2] => c
  17.     [3] => d
  18.     [4] => e
  19.     [5] => f
  20.     [6] => g
  21.     [7] => h
  22.     [8] => i
  23.     [9] => j
  24.     [10] => k
  25.     [11] => l
  26.     [12] => m
  27.     [13] => n
  28.     [14] => o
  29.     [15] => p
  30.     [16] => q
  31.     [17] => r
  32.     [18] => s
  33.     [19] => t
  34.     [20] => u
  35.     [21] => v
  36.     [22] => w
  37.     [23] => x
  38.     [24] => y
  39.     [25] => z
  40. )
  41. (
  42.     [0] => A
  43.     [1] => B
  44.     [2] => C
  45.     [3] => D
  46.     [4] => E
  47.     [5] => F
  48.     [6] => G
  49.     [7] => H
  50.     [8] => I
  51.     [9] => J
  52.     [10] => K
  53.     [11] => L
  54.     [12] => M
  55.     [13] => N
  56.     [14] => O
  57.     [15] => P
  58.     [16] => Q
  59.     [17] => R
  60.     [18] => S
  61.     [19] => T
  62.     [20] => U
  63.     [21] => V
  64.     [22] => W
  65.     [23] => X
  66.     [24] => Y
  67.     [25] => Z
  68. )
4. EuGen - 13 Июля, 2011 - 09:19:40 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $iLength = 8;
  2.  
  3. $a1      = range('0', '9');
  4. $a2      = range('a', 'z');
  5. $a3      = range('A', 'Z');
  6.  
  7. $rgSymbols = array_merge(array_merge($a1,$a2), $a3);
  8. shuffle($rgSymbols);
  9.  
  10. $password  = join('',array_slice($rgSymbols,0, $iLength));

Или использовать, к примеру, http://php.su/functions/?array_rand

Чтобы избежать всяких array_merge лучше сразу объявлять данные в 1-м массиве.
5. grefon - 13 Июля, 2011 - 09:32:34 - перейти к сообщению
EuGen пишет:

EuGen, а зачем такая конструкция? Функция же поддерживает слияние больше 2-х массивов:

PHP:
скопировать код в буфер обмена
  1. $rgSymbols = array_merge(range(0,9),range('a','z'),range('A','Z'));
6. EuGen - 13 Июля, 2011 - 09:38:47 - перейти к сообщению
Ни зачем. Просто привычка отделять, что с чем сливается.
7. grefon - 13 Июля, 2011 - 09:40:26 - перейти к сообщению
Ааа... Улыбка Я уже начал искать тайный смысл.
А вообще способ интересный, я такой еще не встречал, всегда все циклами пользуются.
8. vlados - 13 Июля, 2011 - 09:41:47 - перейти к сообщению
EuGen мне нужно перебрать все возможные пароли из 8 символов используя латинские символы и цифры.
(Добавление)
Улыбка
9. OrmaJever - 13 Июля, 2011 - 10:43:17 - перейти к сообщению
grefon пишет:
А вообще способ интересный, я такой еще не встречал, всегда все циклами пользуются.

У EuGen всегда такие интересные подходы! Есть чему поучится Подмигивание
10. grefon - 13 Июля, 2011 - 10:43:27 - перейти к сообщению
vlados, во-первых - почему Вы об этом сразу не сказали? Во-вторых замахаетесь перебирать. Их будет больше 100000000.
(Добавление)
OrmaJever пишет:
У EuGen всегда такие интересные подходы! Есть чему поучится

Согласен Улыбка
11. OrmaJever - 13 Июля, 2011 - 10:44:53 - перейти к сообщению
vlados пишет:
EuGen мне нужно перебрать все возможные пароли из 8 символов используя латинские символы и цифры.

62 символа в 8 степени = 218340105584896 количество комбинаций. Не плохо? Ещё есть смысл такое спрашивать? Улыбка
12. vlados - 13 Июля, 2011 - 10:45:03 - перейти к сообщению
grefon про количество, я не беспокоюсь.
(Добавление)
Всего 15 чисел Ха-ха
(Добавление)
OrmaJever хотя, если правильно посчитать, то символов 59 Закатив глазки
13. grefon - 13 Июля, 2011 - 10:47:34 - перейти к сообщению
vlados, Вы кажется не осознаете размеры числа. Вам нужно несколько сервер-ферм чтобы с этим справится хотя-бы за год.
14. vlados - 13 Июля, 2011 - 10:47:42 - перейти к сообщению
А нет, 62.
(Добавление)
grefon у меня есть два дедика с оперативкой 8 гигов.
(Добавление)
grefon процессор, на одном ай7
(Добавление)
Поможете со скриптом? Подмигивание
15. OrmaJever - 13 Июля, 2011 - 10:50:16 - перейти к сообщению
grefon пишет:
Вам нужно несколько сервер-ферм чтобы с этим справится хотя-бы за год.

vlados пишет:
grefon у меня есть два дедика с оперативкой 8 гигов.

Почти равноценые вещи Хи
Здесь не оператива нужна а вычислительная мощьность тоесть процесор.
(Добавление)
vlados пишет:
Поможете со скриптом?

это задача не для php

 

Powered by ExBB FM 1.0 RC1