Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Script php per generazione password alfanumeriche.aiuto

    salve a tutti!
    mi chiamo simone e sono novellino sul forum (tecnicamente non dovrei nemmeno esserci perchè di web editing me ne intendo poco)
    mi sono inscritto perchè ho un problema che non riesco a risolvere e quindi ho deciso di rivolgermi a chi ne sa piu di me!

    vengo al dunque:
    ho necessita di creare un dizionario abbastanza pesante di password alfanumeriche (caratteri piccoli) a 24 caratteri (ascii) .girovagando per il web ho trovato uno script php "adatto" allo scopo...ma non fa il suo dovere...o meglio, le mie capacità non lo fanno lavorare a dovere.

    lo script è il seguente:

    <?php
    function genKey($len) {

    for ($i=0; $i<$len; $i++){

    $a = rand(0,1);

    if ($a==0) $sid = $sid. chr(rand(97,122));

    if ($a==1) $sid = $sid. rand(0,9);

    }

    return $sid;

    }
    for ($a=0; $a<1; $a++){
    for ($i=0; $i<2000; $i++){
    $key = genKey(24);
    $array .= $key."\n";
    }
    $hnd = fopen("wpa_key.ewd", 'a+');
    fwrite($hnd, $array);
    fclose($hnd);
    }
    ?>

    come vi ho gia detto di php non capisco nulla...ma ho "studiato" questo script ragionando su le mie logiche.. :master:

    allora, premetto di aver cambiato dei valori :

    or ($a=0; $a<1; $a++){
    for ($i=0; $i<2000; $i++){

    al posto dell'1 c'era il 100 ed al posto di 2000 c'era 10000

    lo script non fa il suo dovere perchè con i valori che ho messo (i migliori che sono riuscito a trovare) mi crea 2000 password diverse. ma se per caso aumento il 2000 a 3000 le password generate oltre il 2000 e qualche cosa si ripetono!
    questo secondo me perchè non fa il random a dovere:

    $a = rand(0,1);

    if ($a==0) $sid = $sid. chr(rand(97,122));

    if ($a==1) $sid = $sid. rand(0,9);

    se genero le prime duemila password diverse con questa configurazione ...poi inverto per esempio lo 0 con l'1 e genero altre password, le vecchie 2000 unite a queste generate non si ripetono.

    oppure

    se nel random (97,122) che sarebbe l'alfabeto scrivo (98,122) e cosi via..ogni volta che genero ed unisco alle precedenti le password non si ripetono..stessa cosa vale per i numeri (0,9) (1,9).

    il fatto è che esistono moltissime combinazioni di questi numeri e non potrei stare ogni volta a cambiarle manualmente ..anche perchè non credo si faccia cosi.
    dovrebbe fare tutto lo script o sbaglio?

    ora chiedo a voi la soluzione ...perchè sono 5 ore che ci sto provando e non riesco piu!
    se ho detto quelche coglionata (sicuramente) non esitate ad umiliare! accetto tutto!

    vi ringrazio anticipatamente

  2. #2
    function random_text($count)
    {
    // crea una lista di caratteri
    $chars = array_flip(array_merge(range(0,9), range('A','Z')));
    // genera una stringa casuale
    for($i = 0, $text = ''; $i < $count; $i++)
    {
    $text .= array_rand($chars);
    }
    return $text;
    }

    eccoti una funzione per generare casualmente stringhe di caratteri della lunghezza che vuoi.
    la richiami con random_text(24);
    Prima di memorizzare la stringa casuale la confronti con quelle già generate così non corri il rischio dei doppioni, anche se con 24 caratteri è molto dura duplicare.

  3. #3
    grazie

    il mio problema e che non conosco il php!

    forse chiedo troppo...:
    potresti scrivermi lo script completo?
    te lo chiedo per favore..anche se non saprei come controcambiare....

    le password da generare come ho detto devono avere caratteri casuali a 24 cifre alfanumeriche
    le password devono essere salvate su di un file di testo (.ewd è uguale)
    e ovvio non ci devono essere password ripetute.

    mi faresti un grande favore...
    potrei anche provare a studiare lo script ma ho mancanza di basi e non riuscirei sicuramente.

    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.