Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905

    Generare password casuali

    Salve, non scrivo questo post per aumentare il numeretto, come i mod potranno pensare in questo momento, ma per mostrarvi una funzione che genera password casuali dati i caratteri permessi e la lunghezza.
    Ecco la funzione:
    Codice PHP:
    function randpass($chars$len) {
      
    $clen strlen($chars);
      
    $pass "";
      for(
    $i 0$i <= $len$i++) {
        
    $pass .= substr($charsrand(1$clen), 1);
      }
      return 
    $pass;

    per chi vuole una password con una lunghezza non specificata ma con un limite e una base, può fare:
    Codice PHP:
    function randpass($chars$minlen$maxlen) {
      
    $len strlen($chars);
      
    $pass "";
      
    $rand rand($minlen$maxlen);
      for(
    $i 0$i <= $rand$i++) {
        
    $pass .= substr($charsrand(1$len), 1);
      }
      return 
    $pass;

    spero sia utile!!

  2. #2
    Questa funzione, magari combinata con md5() e microtime() o rand(), penso che svolga un miglior lavoro

    http://it2.php.net/manual/it/function.uniqid.php
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  3. #3
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    non ho mai provato, ma un md5 criptato in md5, rimane tale o viene ancora processato, poichè i caratteri di output solo sempre 32?
    [edit] forse uniqid si può aggiungere, per ottenere qualcosa del genere: modificare return $pass con return uniqid($pass).

  4. #4
    certo che viene riprocessato, ogni volta prende il risultato precedente come se fosse una banalissima stringa di 32 caratteri...

  5. #5
    ecco una vecchia funzione alternativa, come supplemento a questo post, per alfanumeriche case-sensitive ( genera passwords con lettere maiuscole e minuscole, non solo minuscole ) http://www.devpro.it/php4_id_1.html
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    bene allora aggiungo l'md5 (ho chiesto perchè caso mai se facevo il coso md5 e poi uno memorizzava du db password md5 diventata problematico...ecco con l'md5:
    Codice PHP:
    function randpass($len) {
      
    $chars1 "abcdefghijklmnopqrstuvwxyz";
      
    $chars2 "1234567890.:;,-_";
      
    $chars3 strtoupper($chars_1);
      
    $chars $chars1 $chars2 $chars3;
      
    $pass "";
      for(
    $i 0$i <= $len$i++) {
        
    $pass .= substr($charsrand(1strlen($chars)), 1);
      }
      return 
    md5(uniqid(microtime() . $pass));

    così facciamo una password diversa per ognuno!!


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.