home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / 01-text-password.phpt < prev    next >
Encoding:
Text File  |  2004-03-24  |  3.1 KB  |  76 lines

  1. <?php
  2. error_reporting(E_ALL);
  3.  
  4. require_once '../Password.php';
  5.  
  6.  
  7. function timeToBruteForce ($password, $nbr = 0, $cmbPerSeconde = 4000) {
  8.   global $_Text_Password_NumberOfPossibleCharacters;
  9.  
  10.   $nbr = ($nbr == 0) ? $_Text_Password_NumberOfPossibleCharacters : $nbr;
  11.   $cmb = pow($nbr, strlen($password));
  12.   $time_max = $cmb / $cmbPerSeconde;
  13.   $time_min = ($cmb / $cmbPerSeconde) / 2;
  14.  
  15.   return array('combination' => $cmb,
  16.                'max'         => $time_max,
  17.                'min'         => $time_min);
  18. }
  19.  
  20. echo "\nCreating pronounceable password of 10 chars....:\t";
  21. echo Text_Password::create() . "\n\n";
  22.  
  23. echo "\nCreating 3 different pronounceable passwords...:\n";
  24. print_r(Text_Password::createMultiple(3));
  25.  
  26. echo "\nCreating unpronounceable password of 8 chars with a,b,c as possible chars....:\t";
  27. echo Text_Password::create(8, 'unpronounceable', 'a,b,c') . "\n\n";
  28.  
  29. echo "\nCreating 4 different unpronounceable passwords...:\n";
  30. print_r(Text_Password::createMultiple(4, 10, 'unpronounceable'));
  31.  
  32. echo "\nEstimated time (in sec) to brute force an unpronounceable password of 5 chars with a 4000 combinations per second generator...:\n";
  33. $pass = Text_Password::create(5, 'unpronounceable');
  34. print_r(timeToBruteForce($pass));
  35.  
  36. echo "\nCreating unpronounceable password of 8 chars with numeric chars:\t";
  37. echo Text_Password::create(8, 'unpronounceable', 'numeric') . "\n\n";
  38.  
  39. echo "\nCreating unpronounceable password of 8 chars with alphanumeric chars:\t";
  40. echo Text_Password::create(8, 'unpronounceable', 'alphanumeric') . "\n\n";
  41.  
  42. echo "\nCreating password from login 'olivier', type is 'reverse':\t";
  43. echo Text_Password::createFromLogin('olivier', 'reverse') . "\n\n";
  44.  
  45. echo "\nCreating password from login 'olivier', type is 'rot13':\t";
  46. echo Text_Password::createFromLogin('olivier', 'rot13') . "\n\n";
  47.  
  48. echo "\nCreating password from login 'olivier', type is 'rotx':\t";
  49. echo Text_Password::createFromLogin('olivier', 'rotx', 13) . "\n\n";
  50.  
  51. echo "\nCreating password from login 'olivier', type is 'rotx++':\t";
  52. echo Text_Password::createFromLogin('olivier', 'rotx++', 13) . "\n\n";
  53.  
  54. echo "\nCreating password from login 'olivier', type is 'rotx--':\t";
  55. echo Text_Password::createFromLogin('olivier', 'rotx--', 13) . "\n\n";
  56.  
  57. echo "\nCreating password from login 'olivier', type is 'xor':\t";
  58. echo Text_Password::createFromLogin('olivier', 'xor', 5) . "\n\n";
  59.  
  60. echo "\nCreating password from login 'olivier', type is 'ascii_rotx':\t";
  61. echo Text_Password::createFromLogin('olivier', 'ascii_rotx', 5) . "\n\n";
  62.  
  63. echo "\nCreating password from login 'olivier', type is 'ascii_rotx++':\t";
  64. echo Text_Password::createFromLogin('olivier', 'ascii_rotx++', 5) . "\n\n";
  65.  
  66. echo "\nCreating password from login 'olivier', type is 'ascii_rotx--':\t";
  67. echo Text_Password::createFromLogin('olivier', 'ascii_rotx--', 5) . "\n\n";
  68.  
  69. echo "\nCreating password from login 'olivier', type is 'shuffle':\t";
  70. echo Text_Password::createFromLogin('olivier', 'shuffle', 1) . "\n\n";
  71.  
  72. echo "\nCreating password from an array of login 'olivier', 'martin', 'vanhoucke', 'jansen', type is 'reverse':\n";
  73. $logins = array('olivier', 'martin', 'vanhoucke', 'jansen');
  74. print_r(Text_Password::createMultipleFromLogin($logins, 'reverse'));
  75. ?>
  76.