Omdat het aantal reacties bij het script En- Decoding algoritme wel erg veel werd en niet meer over het script ging maar even een topic om D@rk's poging te volgen naar het 'decoderen' van een MD5 hash opgegeven door Kasper:

abbcff9764f5e355e689fd21ac339d56
Maargoed, nu wist ik dus wat er in voor kwam, hoeveel tekens en dat het een bestaand Nederlands woord moest zijn.
Normaal gesproken weet je niets :) Dat kost veel en veel meer rekenwerk dus D@rk als je nog door wil gaan, good luck :D

-edit-
BTW: trim(); in PHP om spaties te verwijderen aan het begin of einde van een string :)

-edit2-
Voor de die-hard brute-forcers onder ons:

e8e8243400c5172e658957ac20b2b1a1

Geen lengte, geen aanwijzingen over welke karakters gebruikt zijn en dus al helemaal geen bestaand woord. Ben benieuwd wie mogelijk antwoorden vindt :)
Gefeliciteerd!!!!!!! :)

Edit: kan je het script nog even posten of mailen of zo? Ben benieuwd hoe het eruit ziet :) [mail][email protected][/mail]
Oke dit is het script die ik gebruik :

<?php
$m='abbcff9764f5e355e689fd21ac339d56';
$l=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','q','y','z');
$l_c=count($l);
$l_s=(isset($_GET['length']))?$_GET['length']:10;
$comb=pow($l_c,$l_s);
if($_GET['begin']>$comb){
$l_s++;
$begin=0;
}
else{
$begin=(isset($_GET['begin']))?$_GET['begin']:0;
}
for($d=0;$d<$l_s;$d++){
$ar[$d]=isset($_GET['n'.$d])?$_GET['n'.$d]:0;
}
for($a=$begin;$a<$begin+100000;$a++){
$numb='';
for($c=0;$c<count($ar);$c++){
$numb=$numb.$l[$ar[$c]];
}

if($m==md5($numb)){
exit($numb);
}
//Getal optellen
for($b=$l_s;$b>0;$b--){
if($ar[$b]!=$l_c){
$ar[$b]++;
$b=0;
}
else{
$ar[$b]=0;
}
}
}
for($d=0;$d<$l_s;$d++){
$add=$add.'&n'.$d.'='.$ar[$d];
}
echo '<script>document.location="a.php?begin='.($begin+100000).'&length='.$l_s.$add.'&togo='.($comb-$begin+100000).'";</script>';
?>

Hij maakt een getal op, dat getal vervangt hij door een letter uit een array zo gaat hij alle mogelijke combinties af. maar ik geef het op :D (pc heeft 47° gehaald :p)
D@rk, kijk bij post van dutchcamel voor het antwoord :)
<?php
$l = range('a', 'z');
?>

Of om bijvoorbeeld een grote array te maken met verschillende reeksen:

<?php
$array = array_merge(range(0, 9), range('a', 'z'), range('A', 'Z'));
?>

Schilt je wat typwerk D@rk :)
Kasper schreef op 07.01.2005 00:00
Gefeliciteerd!!!!!!! :)

Edit: kan je het script nog even posten of mailen of zo? Ben benieuwd hoe het eruit ziet :) [mail][email protected][/mail]

Eigenlijk wat ik net gepost had, maar dan met trim() om $buffer heen :)

<?php
set_time_limit(0);
$answer = array();
$filename = 'resultaten.txt';
$filename2 = 'md5.txt';
$handle = fopen($filename, 'r');
$handle2 = fopen($filename2, 'w');
while (!feof ($handle)) {
$buffer = fgets($handle, 4096);
$hashed = md5(trim($buffer));
if ($hashed == 'abbcff9764f5e355e689fd21ac339d56') {
$answer[] = trim($buffer);
}
echo '.<br>';
fputs($handle2, $hashed);
}
fclose($handle);
fclose($handle2);
print_r($answer);
?>

-edit-
Dat hele gedoe met md5.txt was eigenlijk niet dus niet nodig, maar ik vertrouwde het niet helemaal dus wou een bestand hebben om alle MD5 hashes te doorzoeken. Heeft alleen weinig nut als ik dan dus nog die spaties mee gehashed had :P

Eigenlijk is alleen die array bijhouden genoeg :) Maar dit was mn script dus.
dutchcamel schreef op 07.01.2005 00:04
<?php
$l = range('a', 'z');
?>

Of om bijvoorbeeld een grote array te maken met verschillende reeksen:

<?php
$array = array_merge(range(0, 9), range('a', 'z'), range('A', 'Z'));
?>

Schilt je wat typwerk D@rk :)


Dat hoor ik nu :p
Wel een mooi script dutchcamel. Nice work :)

edit: leuk woord had ik gekozen he ^^
Weten jullie ook wat het betekent zonder in het woordenboek te kijken? :P
:) Ik stel voor dat we vanaf nu allemaal geloven dat MD5 een kutwerk is om te brute-forcen behalve als je informatie hebt over wat het ongeveer moet zijn.

Liefhebbers, mijn post van 23:54 met hash
e8e8243400c5172e658957ac20b2b1a1
mag nog geprobeerd worden :P
kijk.. dat script van dutchcamel is geen encoding script

een encoding script gebruikt een soort van decoding algoritme die alleen tegenovergesteld werkt...

Het enigste wat je kunt proberen bij md5 is eindeloos combinaties uit proberen; wat echt geen decoden is!
Dat is namelijk gewoon puur gokken/raden...

Deze discussie is nutteloos want hier is het antwoord;
MD5 is niet te 'encoden'!
De ware betekenis van een MD5 hash is wel te vinden door te gokken/raden

Reageren