Advertisement
Guest User

PHP brute force password generator

a guest
Apr 4th, 2012
586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. -in-|-out-
  2. 0 | A
  3. 1 | B
  4. 2 | AA
  5. 3 | AB
  6. 4 | BA
  7. 5 | BB
  8. 6 | AAA
  9. 7 | AAB
  10. 8 | ABA
  11. 9 | ABB
  12. 10 | BBB
  13. and so on...
  14.  
  15. for($i = 1; $i < 100; $i++)
  16. {
  17. echo createString ($i, "AB")."<br/>";
  18. }
  19. function createString ($id, $chars) // THE ISSUE <---
  20. {
  21. $length = getLength($id, $chars);
  22. //echo "LENGTH : ".$length."<br/><br/>";
  23. $string = "";
  24. for($i = 0; $i < $length; $i++)
  25. {
  26. $a = round(($id - 1)/pow($length, $i)); // THE ISSUE <-----
  27. $local = local($a, strlen($chars));
  28. $string = $chars{$local - 1}." : ".$string;
  29. }
  30. return $string;
  31. }
  32. function local ($num, $max)
  33. {
  34. $num += $max;
  35. while($num > $max)
  36. {
  37. $num -= $max;
  38. }
  39. return $num;
  40. }
  41. /*
  42. get the length of the output by inputing the "in" and defining the possible characters
  43. */
  44. function getLength ($id, $chars)
  45. {
  46. $charNUM = 1;
  47. $LR = -1;
  48. $HR = 0;
  49. while(true)
  50. {
  51. $LR = $HR;
  52. $HR = pow(strlen($chars), $charNUM) + $LR;
  53. $LR += 1;
  54. //echo $LR." : ".$HR." : ".$charNUM."<br/>";
  55. if($id >= $LR && $id <= $HR)
  56. {
  57. return $charNUM;
  58. }
  59. if($id < $LR)
  60. {
  61. return false;
  62. }
  63. $charNUM ++;
  64. }
  65. }
  66.  
  67. B :
  68. A :
  69. A : B :
  70. B : A :
  71. B : B :
  72. A : A :
  73. A : B : B :
  74. A : B : A :
  75. A : A : B :
  76. A : A : A :
  77. A : A : B :
  78. A : B : A :
  79. A : B : B :
  80. A : B : A :
  81. B : A : B : B :
  82. B : A : B : A :
  83. B : A : B : B :
  84. B : A : B : A :
  85. B : A : A : B :
  86. B : A : A : A :
  87. B : A : A : B :
  88. B : A : A : A :
  89. B : A : B : B :
  90. B : A : B : A :
  91. B : B : B : B :
  92. B : B : B : A :
  93. B : B : A : B :
  94. B : B : A : A :
  95. B : B : A : B :
  96. B : B : A : A :
  97. B : B : A : B : B :
  98. B : B : A : B : A :
  99. B : B : A : B : B :
  100. B : B : A : A : A :
  101. B : B : A : A : B :
  102. B : B : A : A : A :
  103. B : B : A : A : B :
  104. B : B : A : A : A :
  105. B : B : B : B : B :
  106. B : B : B : B : A :
  107. B : B : B : B : B :
  108.  
  109. function createString ($id, $chars)
  110. {
  111. $length = getLength($id, $chars);
  112. //echo "LENGTH : ".$length."<br/><br/>";
  113. $string = "";
  114. for($i = 0; $i < $length; $i++)
  115. {
  116. $a = ceil($id/($i+1));
  117. $local = local($a, strlen($chars));
  118. $string = $chars{$local - 1}." : ".$string;
  119. }
  120. return $string;
  121. }
  122.  
  123. function convert($number, $base)
  124. {
  125. $return = array();
  126. do{
  127. $return[] = $number % $base;
  128. $number = floor($number / $base);
  129. }while($number != 0);
  130. return $return;
  131. }
  132.  
  133. function createString($i, $base)
  134. {
  135. $res = convert($i, strlen($base));
  136. $str = "";
  137. foreach($res as $digit)
  138. {
  139. $str = $base[$digit] . $str;
  140. }
  141. return $str;
  142. }
  143.  
  144. 0 -> A
  145. 1 -> B
  146. 2 -> BA
  147. 3 -> BB
  148. 4 -> BAA
  149. 5 -> BAB
  150. 6 -> BBA
  151. 7 -> BBB
  152. 8 -> BAAA
  153. 9 -> BAAB
  154. 10-> BABA
  155. 11-> BABB
  156. 12-> BBAA
  157. 13-> BBAB
  158. 14-> BBBA
  159. 15-> BBBB
  160.  
  161. $string = "AB";
  162. $characters = str_split($string, 1);
  163.  
  164. function mutate ($characters, $count) {
  165. var_dump($characters);
  166.  
  167. if (!$count) return $characters;
  168.  
  169. $result = $tmp = mutate($characters, $count -1);
  170.  
  171. foreach ($characters as $char) {
  172. foreach ($tmp as $current) {
  173. $result[] = $current . $char;
  174. }
  175. }
  176. return $result;
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement