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…