Visualizzazione risultati 1 fino 10 di 10

Discussione: Creare tutte le combinazioni possibili tra parole

  1. #1
    Guest

    Exclamation Creare tutte le combinazioni possibili tra parole

    hi, posto qui, nella speranza che esiste qualcosa che mi aiuiti! Stò realizzando uno script che , dopo aver immesso una parola, dovrebbe creare tt le possibili ed immagginabili combinazioni tra le lettere (A-Z,a-z,0-9).
    Esiste qualcosa che magari ecco, con un ciclio while, definisco prima $search = false; poi se crea una parola che soddisfa il mio criterio, imposto $search = true; e stoppo il ciclo.
    Come potrei fare? grazie a priori..ciaoo

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ho trovato uno script su Internet, l'ho modificato un po' e gli ho fatto fare tutti gli anagrammi possibili di "abcdefghijklmnopqrstuvxyz0123456789". Però non è riuscito a scriverli tutti perché l'esecuzione ha superato i 15 secondi.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Visto che cerchi le stringhe in base ad un certo criterio, sarebbe utile saperlo... almeno si può tentare di sviluppare un algoritmo un po' più "mirato". Soprattutto anche perché non si capisce bene questa frase:
    Citazione Originalmente inviato da NetSkin
    dopo aver immesso una parola, dovrebbe creare tt le possibili ed immagginabili combinazioni tra le lettere (A-Z,a-z,0-9)
    cosa dovresti farne della parola iniziale, se ti servono tutte le combinazioni?

    Tentare di forza bruta è molto faticoso: basta limitarsi alle stringhe tra 0 e 10 lettere (quindi nemmeno troppo lunghe) per dover tentare 853.058.371.866.181.867 combinazioni del tuo alfabeto di 62 caratteri...

    Stammi bene...
    Ultima modifica di dementialsite : 12-09-2007 alle ore 10.41.33
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    Guest

    Predefinito

    mi spiego, loro x esempio scrivono lo sha1 di "ciao" e lo script cerca in tt le parole possibili tra le combinazioni A-Z,a-z,0-9 shaunate!
    @Funcool:
    Ma dopo i 15 secondi funziona ?
    grazie molte per le risposte, ciaoo:)

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Purtroppo temo che una cosa del genere non sia ancora fattibile... l'algoritmo più efficiente trovato da 3 ricercatori cinesi (fonte: http://www.infosec.sdu.edu.cn/paper/sha-attack-note.pdf) richiede "solo" 590.295.810.358.705.651.712 tentativi (ancora troppi per i server di AV...) per scoprire una parola con la stessa chiave di quella iniziale... però, una volta trovata, si possono facilmente stabilire quelle con la stessa chiave.

    Quello che Funcool intendeva è che dopo 15 secondi su AV gli script vengono forzatamente interrotti per non sovraccaricare i server (e per prevenire possibili script con loop infiniti, cosa che può capitare anche ai più bravi...!). Tradotto, quindi, lo script su AV non funzionerebbe perché non verrebbe completato.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    Guest

    Predefinito

    ah...ho kapito mò!! Quindi per evitare cicli infiniti o trp lenti av li blocca! Ma in locale è possibile farlo, giusto ? grazie per le informazioni che mi avete fornito ^^

  7. #7
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Se sia possibile farlo in locale, dipende da come hai configurato il tuo webserver... stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  8. #8
    Guest

    Predefinito

    uso easyphp configurato poco solo php.ini .
    Mi potreste aiutare a cercare in google? cioè, anche cercando con anagrammare parole php ... non trovo ciò che mi serve...funcool mi potresti linkare lo script ? grazie ancora..,ciaoo ^^

  9. #9
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Lo script originario l'ho preso da qui (sorgente).
    Le uniche modifiche che ho fatto sono state assegnare alla variabile $testo una stringa con le lettere dell'alfabeto e i numeri e ho tolto il controllo della lunghezza della stringa.
    Per modificare nel "php.ini" il valore massimo di secondi di esecuzione, devi cercare la stringa:
    Codice:
    max_execution_time = 30     ; Maximum execution time of each script, in seconds
    Devi modificare "30" con il numero di secondi da te scelto.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  10. #10
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Un codice per gli anagrammi potrebbe essere questo (ricorda comunque che il numero di anagrammi è sempre molto maggiore della lunghezza della parola, cioè con una parola di N lettere sono in tutto N! = N(N-1)(N-2) ... 2*1):
    Codice PHP:
    function anagrams ($word)
    {
    $result = array ();
    if (
    strlen ($word) <= 1)
    $result[0] = $word;
    else
    {
    $count = 0;
    for (
    $i = 0; $i < strlen ($word); $i++)
    {
    $head = substr ($word, $i, 1);
    $tail = anagrams (substr ($word, 0, $i) . substr ($word, $i + 1));
    for (
    $j = 0; $j < count ($tail); $j++)
    $result[$count++] = $head . $tail[$j];
    }
    }
    return
    $result;
    }
    Chiama questa funzione con la parola da anagrammare e dovrebbe generarti in un array tutti i possibili anagrammi (memoria e timeout permettendo).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •