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…