Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489

    generare un codice alfanumerico unico di 6 caratteri

    ciao a tutti!

    avrei bisogno di creare un codice alfanumerico random di 6 caratteri che sia univoco per almeno 120000 volte. cioé generandolo 120.000 volte devo essere sicuro che con almeno 99% di chance questo codice non é doppio. NON puo essere case sensitive.

    grazie

    ciao

    igor

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    ho risolto.. nel caso servisse a qualcuno ho trovato questo in internet:

    codice:
    function assign_rand_value($num)
    {
    // accepts 1 - 36
      switch($num)
      {
        case "1":
         $rand_value = "a";
        break;
        case "2":
         $rand_value = "b";
        break;
        case "3":
         $rand_value = "c";
        break;
        case "4":
         $rand_value = "d";
        break;
        case "5":
         $rand_value = "e";
        break;
        case "6":
         $rand_value = "f";
        break;
        case "7":
         $rand_value = "g";
        break;
        case "8":
         $rand_value = "h";
        break;
        case "9":
         $rand_value = "i";
        break;
        case "10":
         $rand_value = "j";
        break;
        case "11":
         $rand_value = "k";
        break;
        case "12":
         $rand_value = "l";
        break;
        case "13":
         $rand_value = "m";
        break;
        case "14":
         $rand_value = "n";
        break;
        case "15":
         $rand_value = "o";
        break;
        case "16":
         $rand_value = "p";
        break;
        case "17":
         $rand_value = "q";
        break;
        case "18":
         $rand_value = "r";
        break;
        case "19":
         $rand_value = "s";
        break;
        case "20":
         $rand_value = "t";
        break;
        case "21":
         $rand_value = "u";
        break;
        case "22":
         $rand_value = "v";
        break;
        case "23":
         $rand_value = "w";
        break;
        case "24":
         $rand_value = "x";
        break;
        case "25":
         $rand_value = "y";
        break;
        case "26":
         $rand_value = "z";
        break;
        case "27":
         $rand_value = "0";
        break;
        case "28":
         $rand_value = "1";
        break;
        case "29":
         $rand_value = "2";
        break;
        case "30":
         $rand_value = "3";
        break;
        case "31":
         $rand_value = "4";
        break;
        case "32":
         $rand_value = "5";
        break;
        case "33":
         $rand_value = "6";
        break;
        case "34":
         $rand_value = "7";
        break;
        case "35":
         $rand_value = "8";
        break;
        case "36":
         $rand_value = "9";
        break;
      }
    return $rand_value;
    }
    
    
    function get_rand_id($length)
    {
      if($length>0) 
      { 
      $rand_id="";
       for($i=1; $i<=$length; $i++)
       {
       mt_srand((double)microtime() * 1000000);
       $num = mt_rand(1,36);
       $rand_id .= assign_rand_value($num);
       }
      }
    return $rand_id;
    } 
    
    
    $randusercode=get_rand_id(8);

  3. #3
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    secondo me ti conviene usare una roba tipo questa, che è simile alla tua ma molto più sintetica

    Codice PHP:
        function assign_rand_value ($length 6)

        {

            
    // inizializzo tutte le mie cose
            
    $password "";

            
    $i 0;

            
    $possible "023456789abcdefjkghimnopqrstuvwxyzABCDEFJKGHILMNOPQRSTUVWXYZ"

     

            
    // aggiungo caratteri casuali a $password ciclando fino alla lunghezza massima imposta
            
    while ($i $length) {

                
    $char substr($possiblemt_rand(0strlen($possible)-1), 1);

     

                
    // inserisco l'ultimo carattere solo se non è ancora presente nella stringa della password
                
    if (!strstr($password$char)) { 

                    
    $password .= $char;

                    
    $i++;

                }

            }

            return 
    $password;

        } 

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.