Volevo creare un dizionario con tutte le possibili combinazioni alfanumeriche di 8 caratteri in PHP perché era il modo più veloce che avevo…
Il codice che ho scritto è un po’ una cosa buttata lì… Se siete esperti mi direte che è una pazzia… Eccolo qui:
<?php function potenzaFor($s, $n) { $m=count($n); $o=count($s); for($j=0; $j<$m; $j++) { for($k=0; $k<$o; $k++) { $n[]=$n[$j].$s[$k]; } } return $n; } $t=explode(' ',microtime()); $t=$t[0]+$t[1]; $g=8; #$a=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',0,1,2,3,4,5,6,7,8,9); $a=array(0,1,2,3,4,5,6,7,8,9); $l=count($a); $f=fopen("dizionario.txt", "w+"); $p=$a; for($i=0; $i<$g; $i++) { $p=potenzaFor($a, $p); } if(count($p)) { foreach($p as $e) { fwrite($f, $e."n"); } } $c="#"; $u=explode(' ',microtime()); $u=$u[0]+$u[1]; $v=$u-$t; fwrite($f, "$c Generated in $v"); fclose($f);
NON eseguitelo…
Io l’ho fatto su una macchina con 2GiB di ram + 1 GiB di swap e ecco cosa è successo al monitor di sistema:
Quando ho cominciato… Dovevo farla prima la foto, così avreste visto meglio… ero a circa il 10% della ram in realtà…
Ad un certo punto… Notare la scritta killed
Come ho scritto sopra, notare la scritta killed…
Ho finito tutta la Ram e tutto lo swap 😊
Mi sa che devo alleggerire il codice…
P. S.: Se sapete uno sputo di PHP mi direte che ho fatto la descrizione sbagliata… Era solo per vedere se cambiava qualcosa…
5 commenti
ciao, sono interessato. Ho provato pero' a trasportare tutto su python, più veloce a mio parere, ma ho un problema solo in questa riga:
$n[]=$n[$j].$s[$k];
come lo traduco?
per adesso sono qui: http://shadowyviper.altervista.org/gdiz.py.txt
Non farlo… questa riga qui salva in memoria le chiavi, è questo che fa aumentare la ram.
Ti conviene prendere l'altra versione, quelle che le salva in un .txt appena le trova cioè questa: http://www.vdfn.altervista.org/2010/05/27/creare-tutte-le-possibili-combinazioni-di-un-array-di-caratteri/comments/…
Piero hai messo il link sbagliato….
comunque è questo:
http://www.vdfn.altervista.org/2010/05/27/creare-tutte-le-possibili-combinazioni-di-un-array-di-caratteri/
Comunque SV: prima di farlo io leggerei bene l'articolo del link sopra fino in fondo… Soprattutto in fondo.. Rischi veramente di far saltare il processore.Però poi bo. se hai una macchina molto ma molto forte puoi anche provare.. A tuo rischio comunque.. Ma per curiosità il brute force a cosa lo vuoi fare? In teoria il bruteforce è l'ultimo modo che si usa per trovare una password, considera questo…
Sì, il link è sbagliato perché mi ha preso anche i 3 puntini come link…