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

    Controllo su generatore di password casuali

    Salve a tutti ho scritto questa funzione che crea password casuali di 7 numeri e per essere più sicuro ho anche aggiunto a questa password casuale che viene generata una specie di controcodice ottenuto dividendo per 97 il totale del codice numerico ottenuto.

    Se io volessi essere addirittura controllare se un codice è stato già generato come posso controllare la mia funzione?
    grazie a tutti

    codice:
    Function password_casuale() 
      Randomize() 'inizializzo il randomize
      Do Until len(password) = 7 'ciclo di 7 numeri casuali
        numero = Int((9 * Rnd) + 1) 'creo numero casuale tra o e 9
        password = password & numero 'password piano piano diventa tutti i numeri generati
      Loop
      password_mod = password Mod 97 'faccio il mod 97 del totale...
      password_casuale = password & password_mod '... e lo aggiungo alla password precedentemente creata
    End Function

  2. #2
    non c'è altro modo che confrontare il risultato con un archivio di password già generate.

  3. #3
    Quindi unico modo, se ho capito bene, è salvare da qualche parte (per esempio in un database) e poi controllare password per password se è stata già creata...

    giusto?

  4. #4

  5. #5
    scusa ma non riesco a scrivere questa cosa.....
    allora io devo inserire 10 password generate con quella funzione in un database solo se queste password non sono già presenti nel database.

    quindi ho pensato di fare un ciclo for da 1 a 10

    ma poi come faccio il controllo tra la password generata e TUTTI i campi database che mi interessano??

    io ho fatto così ma ovviamente non va........

    codice:
    dim Inizio, Fine, Ciclo
    Inizio = 1
    Fine = 10
    for Ciclo = Inizio to Fine 
    do while rs.EOF 
    If password_casuale <> rs.campopassword Then
    response.write("è diversa la inserisco")
    rs.movenext
    loop
    end if
    next
    il problema che non riesco a scrivere è che solo dopo aver controllato tutto il rs devo fare la insert.......

  6. #6
    devi fare una SELECT...WHERE sulla tabella. niente scene di panico, pls, è una normale ricerca

  7. #7
    prima di pienare di skifezze il database.....

    l'ho scritto bene sto codice ?

    codice:
    dim Inizio, Fine, Ciclo 'creo i codici
    Inizio = 1
    Fine = 10
    
    for Ciclo = Inizio to Fine
    
    Dim password_generata, rs_controllo__MMColParam
    
    password_generata = password_casuale
    rs_controllo__MMColParam = password_generata
    
    Dim rs_controllo
    Dim rs_controllo_cmd
    Dim rs_controllo_numRows
    
    Set rs_controllo_cmd = Server.CreateObject ("ADODB.Command")
    rs_controllo_cmd.ActiveConnection = MM_conn_rimorday_STRING
    rs_controllo_cmd.CommandText = "SELECT codicegenerato FROM Codici WHERE codicegenerato = ?" 
    rs_controllo_cmd.Prepared = true
    rs_controllo_cmd.Parameters.Append rs_controllo_cmd.CreateParameter("param1", 5, 1, -1, rs_controllo__MMColParam)
    
    Set rs_controllo = rs_controllo_cmd.Execute
    rs_controllo_numRows = 0
    
    If NOT rs_controllo.EOF and rs_controllo.BOF Then 'se non c'è niente allora la password non esiste
    
    response.write("faccio la insert della password qui sotto") & "
    "
    response.write(password_generata) & "
    
    "
    
    end if
    									
    next
    faccio un ciclo da 1 a 10 così composto
    creo un recordset passandogli il valore della password generata
    se il recordset è vuoto allora la password che gli ho passato è nuova e non esiste nel DB quindi faccio la insert
    e con il next lo faccio 10 volte questo controllo.....

  8. #8

  9. #9
    credo solo di aver sbagliato questo.....

    codice:
    If NOT rs_controllo.EOF and rs_controllo.BOF Then 'se non c'è niente allora la password non esiste
    perchè io voglio fare la insert quando il recordset è vuoto , non quando NON è vuoto.....

    quindi tolgo la NOT e provo......

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 © 2025 vBulletin Solutions, Inc. All rights reserved.