Visa ett inlägg
Oläst 2011-06-06, 00:24 #1
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Standard Få löpnummer att verka slumpmässiga

Håller på med ett bokningssystem och försöker komma fram till ett säkert sätt att generera unika bokningsnummer från två fristående system.
Jag vill använda något liknande auto increment men med en extra siffra som identifierar vilket system som skapat bokningen. Jag vill dock att dessa sekventiella (inkrementella) nummer att verka slumpmässiga, men jag vill fortfarande hålla nere längden på numren så mycket som möjligt.

Just nu har jag följande kod för att skapa unika nummer:
PHP-kod:
$luid 301// Local unique id, auto_increment
$cuid 1// client/system id
$checksum $luid % 8; // % skall vara ett procenttecken, alltså modulo 
$prefix = ($cuid $checksum) + 1;

$id $prefix $luid
301 => 5301
302 => 8302
303 => 7303

Villfå dessa tal att "verka" mer slumpmässiga. Nu kan man ju följa nummerserien om man skippar första siffran.
Dock vill jag ha kvar möjligheten att kunna få fram CUID ur numret, vilket jag kan nu genom följande formel:
PHP-kod:
$cuid intval( (substr($id01))-1) ^ (intval(substr($id1)) % 8

Senast redigerad av qson den 2011-06-06 klockan 00:40
qson är inte uppkopplad   Svara med citatSvara med citat