<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=password;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
set_time_limit(0);
function getmicrotime() {
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();
define('HASH_ALGO', 'md5');
define('PASSWORD_MAX_LENGTH', 10);
$charset = 'abcdefghijklmnopqrstuvwxyz';
$charset .= '0123456789';
$charset .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charset .= '~`!@#$%^&*()-_\/\'";:,.+=<>? ';
$str_length = strlen($charset);
function recurse($width, $position, $base_string, $bdd)
{
global $charset, $str_length;
for ($i = 0; $i < $str_length; ++$i) {
if ($position < $width - 1) {
recurse($width, $position + 1, $base_string . $charset[$i], $bdd);
}
$pass = $base_string . $charset[$i];
$md5pass = md5($base_string . $charset[$i]);
$req = $bdd->query('INSERT INTO `md5`(`mdp`, `md5`) VALUES ("'.$pass.'", "'.$md5pass.'")');
}
}
for ($i = 1; $i < PASSWORD_MAX_LENGTH + 1; ++$i) {
recurse($i, 0, '', $bdd);
}
echo "FINISH"
?>