Reputation: 471
I want to build a token number generator. In each call, a random and unique 8-digit number should be returned. I am using PHP and MySQL. In MySQL I'll have a table where I will insert the new serial, each time it will be generated.
How can I generate new numbers in each call?
Tokens will be used from end-users to activate software (and will expire, e.g. after 1 week). So, I need tokens to be unique and not sequential. This describes better my needs. Token format will be just numbers, so that it can be easily spelled and typed.
Even if tokens expire, I do not want to generate an already generated token at a later time.
Thank you
Upvotes: 2
Views: 1329
Reputation: 16094
I usually use http://php.net/manual/en/function.uniqid.php with the more_entropy parameter to true.
Upvotes: 0
Reputation: 332
Ok, so this code does not put the serial number into a database but it will return a serial number 8 digits long. If you want just numbers change the allowed characters variable to just numbers.
<?php
function generate_serial_number() {
$Allowed_Charaters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
return substr(str_shuffle($Allowed_Charaters), 0, 8);
}
?>
Upvotes: 3