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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Перебор паролей

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
improbable
Отправлено: 02 Апреля, 2012 - 21:36:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Дайте советы по улучшению скрипта, если можно.
В общем в чем суть: генерируется 6 отдельных друг от друга цифр.
Каждая цифра соответствует порядковому номеру буквы в английском алфавите (1 - a; 2 - b; ... ; 26 - z;)
После прохождения всех условий пароль принимает следующий вид:

Цитата:
abcdef


Т.е. случайную комбинацию английских букв.
А вот и сам скрипт:

PHP:
скопировать код в буфер обмена
  1.  
  2. include 'database.php';
  3.  
  4. $a = rand(1, 26);
  5.         if($a=='1'){
  6.         $pwd = 'a';
  7. }else{
  8.         if($a=='2'){
  9.         $pwd = 'b';
  10. }else{
  11.         if($a=='3'){
  12.         $pwd = 'c';
  13. }else{
  14.         if($a=='4'){
  15.         $pwd = 'd';
  16. }else{
  17.         if($a=='5'){
  18.         $pwd = 'e';
  19. }else{
  20.         if($a=='6'){
  21.         $pwd = 'f';
  22. }else{
  23.         if($a=='7'){
  24.         $pwd = 'g';
  25. }else{
  26.         if($a=='8'){
  27.         $pwd = 'h';
  28. }else{
  29.         if($a=='9'){
  30.         $pwd = 'i';
  31. }else{
  32.         if($a=='10'){
  33.         $pwd = 'j';
  34. }else{
  35.         if($a=='11'){
  36.         $pwd = 'k';
  37. }else{
  38.         if($a=='12'){
  39.         $pwd = 'l';
  40. }else{
  41.         if($a=='13'){
  42.         $pwd = 'm';
  43. }else{
  44.         if($a=='14'){
  45.         $pwd = 'n';
  46. }else{
  47.         if($a=='15'){
  48.         $pwd = 'o';
  49. }else{
  50.         if($a=='16'){
  51.         $pwd = 'p';
  52. }else{
  53.         if($a=='17'){
  54.         $pwd = 'q';
  55. }else{
  56.         if($a=='18'){
  57.         $pwd = 'r';
  58. }else{
  59.         if($a=='19'){
  60.         $pwd = 's';
  61. }else{
  62.         if($a=='20'){
  63.         $pwd = 't';
  64. }else{
  65.         if($a=='21'){
  66.         $pwd = 'u';
  67. }else{
  68.         if($a=='22'){
  69.         $pwd = 'v';
  70. }else{
  71.         if($a=='23'){
  72.         $pwd = 'w';
  73. }else{
  74.         if($a=='24'){
  75.         $pwd = 'x';
  76. }else{
  77.         if($a=='25'){
  78.         $pwd = 'y';
  79. }else{
  80.         if($a=='26'){
  81.         $pwd = 'z';
  82. }
  83. }
  84. }
  85. }
  86. }
  87. }
  88. }
  89. }
  90. }
  91. }
  92. }
  93. }
  94. }
  95. }
  96. }
  97. }
  98. }
  99. }
  100. }
  101. }
  102. }
  103. }
  104. }
  105. }
  106. }
  107. }
  108. $a = rand(1, 26);
  109.         if($a=='1'){
  110.         $pwd = $pwd . 'a';
  111. }else{
  112.         if($a=='2'){
  113.         $pwd = $pwd . 'b';
  114. }else{
  115.         if($a=='3'){
  116.         $pwd = $pwd . 'c';
  117. }else{
  118.         if($a=='4'){
  119.         $pwd = $pwd . 'd';
  120. }else{
  121.         if($a=='5'){
  122.         $pwd = $pwd . 'e';
  123. }else{
  124.         if($a=='6'){
  125.         $pwd = $pwd . 'f';
  126. }else{
  127.         if($a=='7'){
  128.         $pwd = $pwd . 'g';
  129. }else{
  130.         if($a=='8'){
  131.         $pwd = $pwd . 'h';
  132. }else{
  133.         if($a=='9'){
  134.         $pwd = $pwd . 'i';
  135. }else{
  136.         if($a=='10'){
  137.         $pwd = $pwd . 'j';
  138. }else{
  139.         if($a=='11'){
  140.         $pwd = $pwd . 'k';
  141. }else{
  142.         if($a=='12'){
  143.         $pwd = $pwd . 'l';
  144. }else{
  145.         if($a=='13'){
  146.         $pwd = $pwd . 'm';
  147. }else{
  148.         if($a=='14'){
  149.         $pwd = $pwd . 'n';
  150. }else{
  151.         if($a=='15'){
  152.         $pwd = $pwd . 'o';
  153. }else{
  154.         if($a=='16'){
  155.         $pwd = $pwd . 'p';
  156. }else{
  157.         if($a=='17'){
  158.         $pwd = $pwd . 'q';
  159. }else{
  160.         if($a=='18'){
  161.         $pwd = $pwd . 'r';
  162. }else{
  163.         if($a=='19'){
  164.         $pwd = $pwd . 's';
  165. }else{
  166.         if($a=='20'){
  167.         $pwd = $pwd . 't';
  168. }else{
  169.         if($a=='21'){
  170.         $pwd = $pwd . 'u';
  171. }else{
  172.         if($a=='22'){
  173.         $pwd = $pwd . 'v';
  174. }else{
  175.         if($a=='23'){
  176.         $pwd = $pwd . 'w';
  177. }else{
  178.         if($a=='24'){
  179.         $pwd = $pwd . 'x';
  180. }else{
  181.         if($a=='25'){
  182.         $pwd = $pwd . 'y';
  183. }else{
  184.         if($a=='26'){
  185.         $pwd = $pwd . 'z';
  186. }
  187. }
  188. }
  189. }
  190. }
  191. }
  192. }
  193. }
  194. }
  195. }
  196. }
  197. }
  198. }
  199. }
  200. }
  201. }
  202. }
  203. }
  204. }
  205. }
  206. }
  207. }
  208. }
  209. }
  210. }
  211. }
  212. $a = rand(1, 26);
  213.         if($a=='1'){
  214.         $pwd = $pwd . 'a';
  215. }else{
  216.         if($a=='2'){
  217.         $pwd = $pwd . 'b';
  218. }else{
  219.         if($a=='3'){
  220.         $pwd = $pwd . 'c';
  221. }else{
  222.         if($a=='4'){
  223.         $pwd = $pwd . 'd';
  224. }else{
  225.         if($a=='5'){
  226.         $pwd = $pwd . 'e';
  227. }else{
  228.         if($a=='6'){
  229.         $pwd = $pwd . 'f';
  230. }else{
  231.         if($a=='7'){
  232.         $pwd = $pwd . 'g';
  233. }else{
  234.         if($a=='8'){
  235.         $pwd = $pwd . 'h';
  236. }else{
  237.         if($a=='9'){
  238.         $pwd = $pwd . 'i';
  239. }else{
  240.         if($a=='10'){
  241.         $pwd = $pwd . 'j';
  242. }else{
  243.         if($a=='11'){
  244.         $pwd = $pwd . 'k';
  245. }else{
  246.         if($a=='12'){
  247.         $pwd = $pwd . 'l';
  248. }else{
  249.         if($a=='13'){
  250.         $pwd = $pwd . 'm';
  251. }else{
  252.         if($a=='14'){
  253.         $pwd = $pwd . 'n';
  254. }else{
  255.         if($a=='15'){
  256.         $pwd = $pwd . 'o';
  257. }else{
  258.         if($a=='16'){
  259.         $pwd = $pwd . 'p';
  260. }else{
  261.         if($a=='17'){
  262.         $pwd = $pwd . 'q';
  263. }else{
  264.         if($a=='18'){
  265.         $pwd = $pwd . 'r';
  266. }else{
  267.         if($a=='19'){
  268.         $pwd = $pwd . 's';
  269. }else{
  270.         if($a=='20'){
  271.         $pwd = $pwd . 't';
  272. }else{
  273.         if($a=='21'){
  274.         $pwd = $pwd . 'u';
  275. }else{
  276.         if($a=='22'){
  277.         $pwd = $pwd . 'v';
  278. }else{
  279.         if($a=='23'){
  280.         $pwd = $pwd . 'w';
  281. }else{
  282.         if($a=='24'){
  283.         $pwd = $pwd . 'x';
  284. }else{
  285.         if($a=='25'){
  286.         $pwd = $pwd . 'y';
  287. }else{
  288.         if($a=='26'){
  289.         $pwd = $pwd . 'z';
  290. }
  291. }
  292. }
  293. }
  294. }
  295. }
  296. }
  297. }
  298. }
  299. }
  300. }
  301. }
  302. }
  303. }
  304. }
  305. }
  306. }
  307. }
  308. }
  309. }
  310. }
  311. }
  312. }
  313. }
  314. }
  315. }
  316. $a = rand(1, 26);
  317.         if($a=='1'){
  318.         $pwd = $pwd . 'a';
  319. }else{
  320.         if($a=='2'){
  321.         $pwd = $pwd . 'b';
  322. }else{
  323.         if($a=='3'){
  324.         $pwd = $pwd . 'c';
  325. }else{
  326.         if($a=='4'){
  327.         $pwd = $pwd . 'd';
  328. }else{
  329.         if($a=='5'){
  330.         $pwd = $pwd . 'e';
  331. }else{
  332.         if($a=='6'){
  333.         $pwd = $pwd . 'f';
  334. }else{
  335.         if($a=='7'){
  336.         $pwd = $pwd . 'g';
  337. }else{
  338.         if($a=='8'){
  339.         $pwd = $pwd . 'h';
  340. }else{
  341.         if($a=='9'){
  342.         $pwd = $pwd . 'i';
  343. }else{
  344.         if($a=='10'){
  345.         $pwd = $pwd . 'j';
  346. }else{
  347.         if($a=='11'){
  348.         $pwd = $pwd . 'k';
  349. }else{
  350.         if($a=='12'){
  351.         $pwd = $pwd . 'l';
  352. }else{
  353.         if($a=='13'){
  354.         $pwd = $pwd . 'm';
  355. }else{
  356.         if($a=='14'){
  357.         $pwd = $pwd . 'n';
  358. }else{
  359.         if($a=='15'){
  360.         $pwd = $pwd . 'o';
  361. }else{
  362.         if($a=='16'){
  363.         $pwd = $pwd . 'p';
  364. }else{
  365.         if($a=='17'){
  366.         $pwd = $pwd . 'q';
  367. }else{
  368.         if($a=='18'){
  369.         $pwd = $pwd . 'r';
  370. }else{
  371.         if($a=='19'){
  372.         $pwd = $pwd . 's';
  373. }else{
  374.         if($a=='20'){
  375.         $pwd = $pwd . 't';
  376. }else{
  377.         if($a=='21'){
  378.         $pwd = $pwd . 'u';
  379. }else{
  380.         if($a=='22'){
  381.         $pwd = $pwd . 'v';
  382. }else{
  383.         if($a=='23'){
  384.         $pwd = $pwd . 'w';
  385. }else{
  386.         if($a=='24'){
  387.         $pwd = $pwd . 'x';
  388. }else{
  389.         if($a=='25'){
  390.         $pwd = $pwd . 'y';
  391. }else{
  392.         if($a=='26'){
  393.         $pwd = $pwd . 'z';
  394. }
  395. }
  396. }
  397. }
  398. }
  399. }
  400. }
  401. }
  402. }
  403. }
  404. }
  405. }
  406. }
  407. }
  408. }
  409. }
  410. }
  411. }
  412. }
  413. }
  414. }
  415. }
  416. }
  417. }
  418. }
  419. }
  420. $a = rand(1, 26);
  421.         if($a=='1'){
  422.         $pwd = $pwd . 'a';
  423. }else{
  424.         if($a=='2'){
  425.         $pwd = $pwd . 'b';
  426. }else{
  427.         if($a=='3'){
  428.         $pwd = $pwd . 'c';
  429. }else{
  430.         if($a=='4'){
  431.         $pwd = $pwd . 'd';
  432. }else{
  433.         if($a=='5'){
  434.         $pwd = $pwd . 'e';
  435. }else{
  436.         if($a=='6'){
  437.         $pwd = $pwd . 'f';
  438. }else{
  439.         if($a=='7'){
  440.         $pwd = $pwd . 'g';
  441. }else{
  442.         if($a=='8'){
  443.         $pwd = $pwd . 'h';
  444. }else{
  445.         if($a=='9'){
  446.         $pwd = $pwd . 'i';
  447. }else{
  448.         if($a=='10'){
  449.         $pwd = $pwd . 'j';
  450. }else{
  451.         if($a=='11'){
  452.         $pwd = $pwd . 'k';
  453. }else{
  454.         if($a=='12'){
  455.         $pwd = $pwd . 'l';
  456. }else{
  457.         if($a=='13'){
  458.         $pwd = $pwd . 'm';
  459. }else{
  460.         if($a=='14'){
  461.         $pwd = $pwd . 'n';
  462. }else{
  463.         if($a=='15'){
  464.         $pwd = $pwd . 'o';
  465. }else{
  466.         if($a=='16'){
  467.         $pwd = $pwd . 'p';
  468. }else{
  469.         if($a=='17'){
  470.         $pwd = $pwd . 'q';
  471. }else{
  472.         if($a=='18'){
  473.         $pwd = $pwd . 'r';
  474. }else{
  475.         if($a=='19'){
  476.         $pwd = $pwd . 's';
  477. }else{
  478.         if($a=='20'){
  479.         $pwd = $pwd . 't';
  480. }else{
  481.         if($a=='21'){
  482.         $pwd = $pwd . 'u';
  483. }else{
  484.         if($a=='22'){
  485.         $pwd = $pwd . 'v';
  486. }else{
  487.         if($a=='23'){
  488.         $pwd = $pwd . 'w';
  489. }else{
  490.         if($a=='24'){
  491.         $pwd = $pwd . 'x';
  492. }else{
  493.         if($a=='25'){
  494.         $pwd = $pwd . 'y';
  495. }else{
  496.         if($a=='26'){
  497.         $pwd = $pwd . 'z';
  498. }
  499. }
  500. }
  501. }
  502. }
  503. }
  504. }
  505. }
  506. }
  507. }
  508. }
  509. }
  510. }
  511. }
  512. }
  513. }
  514. }
  515. }
  516. }
  517. }
  518. }
  519. }
  520. }
  521. }
  522. }
  523. }
  524. $a = rand(1, 26);
  525.         if($a=='1'){
  526.         $pwd = $pwd . 'a';
  527. }else{
  528.         if($a=='2'){
  529.         $pwd = $pwd . 'b';
  530. }else{
  531.         if($a=='3'){
  532.         $pwd = $pwd . 'c';
  533. }else{
  534.         if($a=='4'){
  535.         $pwd = $pwd . 'd';
  536. }else{
  537.         if($a=='5'){
  538.         $pwd = $pwd . 'e';
  539. }else{
  540.         if($a=='6'){
  541.         $pwd = $pwd . 'f';
  542. }else{
  543.         if($a=='7'){
  544.         $pwd = $pwd . 'g';
  545. }else{
  546.         if($a=='8'){
  547.         $pwd = $pwd . 'h';
  548. }else{
  549.         if($a=='9'){
  550.         $pwd = $pwd . 'i';
  551. }else{
  552.         if($a=='10'){
  553.         $pwd = $pwd . 'j';
  554. }else{
  555.         if($a=='11'){
  556.         $pwd = $pwd . 'k';
  557. }else{
  558.         if($a=='12'){
  559.         $pwd = $pwd . 'l';
  560. }else{
  561.         if($a=='13'){
  562.         $pwd = $pwd . 'm';
  563. }else{
  564.         if($a=='14'){
  565.         $pwd = $pwd . 'n';
  566. }else{
  567.         if($a=='15'){
  568.         $pwd = $pwd . 'o';
  569. }else{
  570.         if($a=='16'){
  571.         $pwd = $pwd . 'p';
  572. }else{
  573.         if($a=='17'){
  574.         $pwd = $pwd . 'q';
  575. }else{
  576.         if($a=='18'){
  577.         $pwd = $pwd . 'r';
  578. }else{
  579.         if($a=='19'){
  580.         $pwd = $pwd . 's';
  581. }else{
  582.         if($a=='20'){
  583.         $pwd = $pwd . 't';
  584. }else{
  585.         if($a=='21'){
  586.         $pwd = $pwd . 'u';
  587. }else{
  588.         if($a=='22'){
  589.         $pwd = $pwd . 'v';
  590. }else{
  591.         if($a=='23'){
  592.         $pwd = $pwd . 'w';
  593. }else{
  594.         if($a=='24'){
  595.         $pwd = $pwd . 'x';
  596. }else{
  597.         if($a=='25'){
  598.         $pwd = $pwd . 'y';
  599. }else{
  600.         if($a=='26'){
  601.         $pwd = $pwd . 'z';
  602. }
  603. }
  604. }
  605. }
  606. }
  607. }
  608. }
  609. }
  610. }
  611. }
  612. }
  613. }
  614. }
  615. }
  616. }
  617. }
  618. }
  619. }
  620. }
  621. }
  622. }
  623. }
  624. }
  625. }
  626. }
  627. }
  628.         echo '<b>Were created following hashes: </b><br><br>';
  629.         $password = $pwd;
  630.         $md5 = md5($password);
  631.         $md5md5 = md5($md5);
  632.         $rResult = mysql_query('SELECT * FROM `passwords` WHERE `pwd` = "'.$password.'"');
  633.                 if(!mysql_num_rows($rResult)){
  634.                         mysql_query('INSERT INTO `passwords` (`pwd`, `md5`, `md5md5`) VALUES ("'.$password.'", "'.$md5.'", "'.$md5md5.'")');
  635.                         echo ' ' . $md5 . ',';
  636.                         echo ' ' . $md5md5 . ',';
  637.                         $amount = $amount + '1';
  638.                 }else{
  639.                         echo '<b><font color="#ff0000"> REPEATING ,</font></b>';
  640.                 }
  641.  
  642.         mysql_close($connect);
  643.         header("Refresh: 0.5");
  644.  


Переменная amount служит для ведения учета за количеством добавленных хешей.
Всего циклы повторяются много раз, что в конце концов образует и добавляет в базу данных около 600 md5 и md5md5 хешей, после чего выводится информация о добавленных хешах, потом страница обновляется, а цикл повторяется.

Скрипт можно лицезреть по ссылке http://www[dot]unhash[dot]webege[dot]com/add/six.php

Проблема в том, что грузится всё это дело долго.
Как ускорить? Может есть варианты не через rand?
Нужен только совет, делать за меня не надо, это конкурсная работа 8-го класса.

Заранее спасибо!

(Отредактировано автором: 02 Апреля, 2012 - 21:39:04)

 
 Top
Bio man
Отправлено: 02 Апреля, 2012 - 21:42:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Вот это просто убило
Спойлер (Отобразить)
Совет - используй функцию, т.е. вынеси перебор в ф-цию и рекурсивно вызывай
 
 Top
improbable
Отправлено: 02 Апреля, 2012 - 21:46:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Bio man пишет:
Вот это просто убило


Мне так легче было разобраться))


Bio man пишет:
вынеси перебор в ф-цию и рекурсивно вызывай


Можете переформулировать? Закатив глазки
 
 Top
Данил_123
Отправлено: 02 Апреля, 2012 - 21:46:57
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




Спойлер (Отобразить)


-----
http://mysitecost.ru
 
 Top
Bio man
Отправлено: 02 Апреля, 2012 - 21:50:48
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)





Данил_123 пишет:
ахах.. щас 5-10 минут напишу вам.. Bio man ахах
не понял, переформулируй.
Почитай в нете про рекурсию, щас занят твоим скриптом, предложу свой вариант.
 
 Top
improbable
Отправлено: 02 Апреля, 2012 - 21:53:30
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Спасибо что обеспокоены моей проблемой, начинаю читать.
После завершения конкурса возможно совместное ведение сайта.
 
 Top
Данил_123
Отправлено: 02 Апреля, 2012 - 21:53:33
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




Bio man кратко: тоже начал писать свою версию..
(Добавление)
PHP:
скопировать код в буфер обмена
  1.     $aChar = array("a", "b", "c", "d", "e", "f", "g", "h","i", "j",
  2.                    "k","l", "m", "n", "o", "p", "q", "r", "s",
  3.                    "t", "u","v", "w", "x", "y", "z");
  4.        
  5.         for($i = 0;$i <= 5; $i++)
  6.             print $aChar[rand(1,26)];


обошелся без функций, тут только генерация, замена Вашим 627 строк)
(Добавление)
да и если будете дописывать, что-то лучше взять тело цикла в фигурные скобки


-----
http://mysitecost.ru
 
 Top
Bio man
Отправлено: 02 Апреля, 2012 - 22:19:19
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




PHP:
скопировать код в буфер обмена
  1. include 'database.php';
  2.  
  3. $sPass = join('', array_map(function($val){if(mt_rand(0,1)) return strtolower(chr($val)); return chr($val);}, array_rand(array_flip(range(65, 90)), 6)));
  4.  
  5. echo '<b>Were created following hashes: </b><br><br>';
  6. $md5 = md5($sPass);
  7. $md5md5 = md5($md5);
  8. $rResult = mysql_query('SELECT * FROM `passwords` WHERE `pwd` = "'.$sPass.'"');
  9. if(!mysql_num_rows($rResult)){
  10. mysql_query('INSERT INTO `passwords` (`pwd`, `md5`, `md5md5`) VALUES ("'.$sPass.'", "'.$md5.'", "'.$md5md5.'")');
  11. echo ' ' . $md5 . ',';
  12. echo ' ' . $md5md5 . ',';
  13. $amount = $amount + '1';
  14. }else{
  15. echo '<b><font color="#ff0000"> REPEATING ,</font></b>';
  16. }
  17.  
  18. mysql_close($connect);
  19. header("Refresh: 0.5");

Вот что навоял. Под вдохновением Евгена)))
(Добавление)
Данный вариант еще меняет регистр символов, т.е. в пароле могут быть как маленькие так и большие буквы
 
 Top
improbable
Отправлено: 02 Апреля, 2012 - 22:23:15
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Данил_123 пишет:
обошелся без функций, тут только генерация, замена Вашим 627 строк)

Блин, вот как до меня раньше не дошло! Спасибо, затестим сейчас.

Bio man пишет:
Почитай в нете про рекурсию, щас занят твоим скриптом, предложу свой вариант.

Я попытался с функциями, но функция выводила мне одинаковые значения, только в большом кол-ве.
(Добавление)
Bio man пишет:
Вот что навоял

Цитата:
Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /home/a6237360/public_html/add/r and.php on line 4
 
 Top
Bio man
Отправлено: 02 Апреля, 2012 - 22:27:56
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Видимо версия у тебя не 5.3. В 5.3 работает, кстати это function($val){... называется замыкание.
PHP:
скопировать код в буфер обмена
  1. function f($val){if(mt_rand(0,1)) return strtolower(chr($val)); return chr($val);}
  2. $sPass = join('', array_map('f', array_rand(array_flip(range(65, 90)), 6)));
Без замыкания
 
 Top
improbable
Отправлено: 02 Апреля, 2012 - 22:37:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Что я сделал не так?

PHP:
скопировать код в буфер обмена
  1.  
  2. include 'database.php';
  3. $amount = '0';
  4. echo '<b>Were created ' . $amount .' hashes: </b><br><br>';
  5.  
  6. $aChar = array("a", "b", "c", "d", "e", "f", "g", "h","i", "j",
  7.                    "k","l", "m", "n", "o", "p", "q", "r", "s",
  8.                    "t", "u","v", "w", "x", "y", "z");
  9.        
  10.         for($i = 0;$i <= 5; $i++)
  11.             $aChar = $aChar[rand(1,26)];
  12.         $md5 = md5($aChar);
  13.         $md5md5 = md5($md5);
  14.         $rResult = mysql_query('SELECT * FROM `passwords` WHERE `pwd` = "'.$aChar.'"');
  15.                 if(!mysql_num_rows($rResult)){
  16.                         mysql_query('INSERT INTO `passwords` (`pwd`, `md5`, `md5md5`) VALUES ("'.$aChar.'", "'.$md5.'", "'.$md5md5.'")');
  17.                         echo ' ' . $md5 . ',';
  18.                         echo ' ' . $md5md5 . ',';
  19.                         $amount = $amount + '1';
  20.                 }else{
  21.                         echo '<b><font color="#ff0000"> REPEATING ,</font></b>';}
  22. $aChar = array("a", "b", "c", "d", "e", "f", "g", "h","i", "j",
  23.                    "k","l", "m", "n", "o", "p", "q", "r", "s",
  24.                    "t", "u","v", "w", "x", "y", "z");
  25.        
  26.         for($i = 0;$i <= 5; $i++)
  27.             $aChar = $aChar[rand(1,26)];
  28.         $md5 = md5($aChar);
  29.         $md5md5 = md5($md5);
  30.         $rResult = mysql_query('SELECT * FROM `passwords` WHERE `pwd` = "'.$aChar.'"');
  31.                 if(!mysql_num_rows($rResult)){
  32.                         mysql_query('INSERT INTO `passwords` (`pwd`, `md5`, `md5md5`) VALUES ("'.$aChar.'", "'.$md5.'", "'.$md5md5.'")');
  33.                         echo ' ' . $md5 . ',';
  34.                         echo ' ' . $md5md5 . ',';
  35.                         $amount = $amount + '1';
  36.                 }else{
  37.                         echo '<b><font color="#ff0000"> REPEATING ,</font></b>';}
  38.  
  39. // на самом деле код длиннее
  40.  
  41.         mysql_close($connect);
  42.         header("Refresh: 0.1");
  43.  


http://www[dot]unhash[dot]webege[dot]com/add/rand.php
 
 Top
Bio man
Отправлено: 02 Апреля, 2012 - 22:41:10
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




А чем мой вариант не угодил? Конкатенацию пропустил. И имя переменной другое выбери $sPass .= $aChar[rand(1,26)];
(Добавление)
Ха-ха жесткое зацикливание.
(Добавление)
PHP:
скопировать код в буфер обмена
  1. include 'database.php';
  2. function f($val){if(mt_rand(0,1)) return strtolower(chr($val)); return chr($val);}
  3. $sPass = join('', array_map('f', array_rand(array_flip(range(65, 90)), 6)));
  4. $amount = 0;
  5. echo '<b>Were created ' . $amount .' hashes: </b><br><br>';
  6.  
  7. $md5 = md5($sPass);
  8. $md5md5 = md5($md5);
  9. $rResult = mysql_query('SELECT * FROM `passwords` WHERE `pwd` = "'.$sPass.'"');
  10.  
  11. if(!mysql_num_rows($rResult)){
  12.         mysql_query('INSERT INTO `passwords` (`pwd`, `md5`, `md5md5`) VALUES ("'.$sPass.'", "'.$md5.'", "'.$md5md5.'")');
  13.         echo ' ' . $md5 . ',';
  14.         echo ' ' . $md5md5 . ',';
  15.         $amount++;
  16. }else
  17.         echo '<b><font color="#ff0000"> REPEATING ,</font></b>';
  18.  
  19. $md5 = md5($sPass);
  20. $md5md5 = md5($md5);
  21. $rResult = mysql_query('SELECT * FROM `passwords` WHERE `pwd` = "'.$sPass.'"');
  22. if(!mysql_num_rows($rResult)){
  23.         mysql_query('INSERT INTO `passwords` (`pwd`, `md5`, `md5md5`) VALUES ("'.$sPass.'", "'.$md5.'", "'.$md5md5.'")');
  24.         echo ' ' . $md5 . ',';
  25.         echo ' ' . $md5md5 . ',';
  26.         $amount++;
  27. }else
  28.         echo '<b><font color="#ff0000"> REPEATING ,</font></b>';
  29.  
  30. // на самом деле код длиннее
  31.  
  32. mysql_close($connect);
  33. header("Refresh: 0.1");

(Отредактировано автором: 02 Апреля, 2012 - 22:45:58)

 
 Top
improbable
Отправлено: 02 Апреля, 2012 - 22:51:15
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




У меня вообще сайт работать перестал, залил твой скрипт, через прокси выдает только это:

Цитата:

Were created following hashes:

aaec992d6743e918f42a574d3ea7616b, 0cca5f0ea3b3377fd94012c9829fd29c,


код

PHP:
скопировать код в буфер обмена
  1.  
  2.         include 'database.php';
  3.  
  4. function f($val){if(mt_rand(0,1)) return strtolower(chr($val)); return chr($val);}
  5. $sPass = join('', array_map('f', array_rand(array_flip(range(65, 90)), 6)));
  6.  
  7. echo '<b>Were created following hashes: </b><br><br>';
  8. $md5 = md5($sPass);
  9. $md5md5 = md5($md5);
  10. $rResult = mysql_query('SELECT * FROM `passwords` WHERE `pwd` = "'.$sPass.'"');
  11. if(!mysql_num_rows($rResult)){
  12. mysql_query('INSERT INTO `passwords` (`pwd`, `md5`, `md5md5`) VALUES ("'.$sPass.'", "'.$md5.'", "'.$md5md5.'")');
  13. echo ' ' . $md5 . ',';
  14. echo ' ' . $md5md5 . ',';
  15. $amount = $amount + '1';
  16. }else{
  17. echo '<b><font color="#ff0000"> REPEATING ,</font></b>';
  18. }
  19.  
  20. mysql_close($connect);
  21. header("Refresh: 0.5");
  22.  
 
 Top
Bio man
Отправлено: 02 Апреля, 2012 - 22:53:46
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




improbable, а какой результат ты ожидал? Как по мне так все работает
 
 Top
improbable
Отправлено: 02 Апреля, 2012 - 22:56:20
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




то есть надо будет копи-пастом повторять? я думал мне предложили альтернативу...))
сейчас проверю тогда
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB