Goede middag,

Ik keer wederom weer terug voor hulp.
Ik ben bezig met een nieuw project, waarvoor ik alle mogelijkheden met tekens moet weten in een string TOT 12 tekens. Dat zijn inderdaad een hele hoop mogelijkheden, nu wil ik AL deze dingen in de database zetten.
Ik ga dit script wel op een server draaien, maar word via de browser aangeroepen.
Wat nu dus eigenlijk de vraag is: hoe kan ik alle mogelijkheden creeƫren.
Ik heb al geprobeert een bruteforce script aan te passen en het hashen eruit te halen, dit werkt wel. Maar dan moet je je pc dag en nacht laten aan staan totdat alle mogelijkheden behaald zijn. Dit gaat niet lukken natuurlijk.

Ik wil het script dus kunnen onderbreken.
Ik heb dit bruteforce script aangepast:
<?php
/*
* Thanks to Robert Green for this script he wrote in python
* http://www.rbgrn.net/blog/2007/09/how-to-write-a-brute-force-password-cracker.html
* I took what we wrote and ported this to PHP
*
* This script was written for PHP 5, but should work with
* PHP 4 if the hash() function is replaced with md5() or something else
*/

#########################################################
/* Configuration */

// this is the hash we are trying to crack
define('HASH', '9d2bbed238251f26c6faaae38e7e0c77');

// algorithm of hash
// see http://php.net/hash_algos for available algorithms
define('HASH_ALGO', 'md5');

// max length of password to try
define('PASSWORD_MAX_LENGTH', 12);

set_time_limit(60000000);
// available characters to try for password
// uncomment additional charsets for more complex passwords
$charset = 'abcdefghijklmnopqrstuvwxyz';
$charset .= '0123456789';
//$charset .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
//$charset .= '~`!@#$%^&*()-_\/\'";:,.+=<>? ';
#########################################################

function check($password)
{
if (hash(HASH_ALGO, $password) == HASH) {
echo 'FOUND MATCH, password: '.$password."\r\n";
exit;
}
}


function recurse($width, $position, $base_string)
{
global $charset;

for ($i = 0; $i < strlen($charset); ++$i) {
if ($position < $width - 1) {
recurse($width, $position + 1, $base_string . $charset[$i]);
}
check($base_string . $charset[$i]);
}
}

echo 'target hash: '.HASH."\r\n";
for ($i = 1; $i < PASSWORD_MAX_LENGTH + 1; ++$i) {
echo 'checking passwords with width: '.$i."\r\n";
recurse($i, 0, '');
}

echo "Execution complete, no password found\r\n";


?>

Dat wil wel, maar het inbouwen van het hervatten werkt niet.
Dus mijn vraag is of A: Hoe kan ik zelf een script maken die alles bij langs gaat, en hervatbaar is? Of B: Hoe kan ik het bovenstaande script dusdanig aanpassen dat het in database zetten hervatbaar is?

Ik hoop dat jullie mij begrijpen? Anders hoor ik het graag!
Ik denk dat je zo'n script beter in java of c++ kan schrijven.

Het programma zet vervolgens alle gevonden waarden + query in een txt.

Dat txt bestand voor je uit in PHPmyadmin.

EDIT:

Als je hulp nodig hebt hoor ik het graag

EDIT 2:
Dat zijn: (26*2+10)^12 mogelijkheden

620 duizend miljard mogelijkheden als ik het goed heb.

EDIT3:

60,000 tables and about 5,000,000,000 rows.
http://www.ozzu.com/website-design-forum/number-records-mysql-can-hold-t21136.html

Mysql Kan zoveel records dus niet aan
Als ik het in C++ moet gaan schrijven heb ik zeker hulp nodig. Maar ik heb het liever in php, ookal gaat dat wat slomer, dan heb ik het wel bij elkaar en kan ik het zooitje later eventueel verkopen.
Lees mijn EDIT 2 & 3,

weet je wel hoeveel 620duizendmiljard is?
dat kan nooit in php & mysql
Ik weet hoeveel het is, het word dus ook een project met over de duur verdeeld over meerdere databases. Hiervoor komt nog een deel erbij, (wanneer ik bij +/- 5-6 tekens zit) komt er voor elk teken minimaal een extra database bij. Ik heb genoeg ruimte en dergelijke.

Zo niet verlaag ik 12 naar 10 dat vermindert het aantal van 620duizendmiljard :P
dan wordt het 6200 miljard.
Nog steeds een veel te groot getal voor php.
Php hoeft het ook niet op te slaan of in 1x te berekenen, ik wil het in aantallen van +/- 10000 gaan inserten in de database, voorlopig is het goed genoeg. Zou je mij eventueel kunnen vertellen hoe het moet?
Er zijn al genoeg Md5 databases.
Het is niet aan te raden met php zoveel records te maken.
C++ is veeel sneller (vraag me niet hoe dit programma eruit zal zien, ik ken geen C++).

Maar ik wil geen md5 database maken.. Lees aub mijn post!
BUUUUUUUUUUUUUUUUUMP
Waarom wil je die tekens in een database plaatsen?

Reageren