| Author |
Algorithm to generate random token ids.
|
pawan chopra
Ranch Hand
Joined: Jan 23, 2008
Posts: 362
|
|
Hi All,
I want to know what kind of algorithm I can use to generate a random token which is combination of String and Integer.
|
Pawan Chopra
SCJP - DuMmIeS mInD
|
 |
Sebastian Janisch
Ranch Hand
Joined: Feb 23, 2009
Posts: 1183
|
|
|
you could create an array of available characters then iterate for n steps (where n is the number of characters you want the token to consist of) and append a random item from the array to the token.
|
JDBCSupport - An easy to use, light-weight JDBC framework -
|
 |
manoj r patil
Ranch Hand
Joined: Jun 06, 2002
Posts: 180
|
|
|
Math.random() ???
|
love your job and not your company;
...because you never know when your company will stop loving you!
|
 |
Sebastian Janisch
Ranch Hand
Joined: Feb 23, 2009
Posts: 1183
|
|
exactly
|
 |
Gopi Chella
Ranch Hand
Joined: Apr 26, 2010
Posts: 53
|
|
|
You can use priority Queue also with the combination of Random class.
|
SCJP 1.5
|
 |
Priya dharshini
Ranch Hand
Joined: Aug 06, 2005
Posts: 78
|
|
This method returns unique ID which is combination of String and Integer.
|
Thanks & Regards,
Priyadharshini . T
|
 |
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 32712
|
|
Are you using truly random numbers (which entail possible duplications) or do you want random sampling from a diminishing population, in which case your values will be unique? For random sampling from a diminishing population, put values into a List (probably via a Set to avoid duplicates) and remove the value selected; the List will gradually become smaller, so your random numbers must be chosen from a diminishing range.
Alternative: shuffle a List and choose the first n values.
Remember the Random class and Math.random() are not truly random, but do present possible duplications. If you use Math.random() long enough, you are guaranteed to receive duplicate values.
|
 |
Rob Spoor
Sheriff
Joined: Oct 27, 2005
Posts: 19216
|
|
|
That's true for each (pseudo) random number generator. Given a possible N values, there is always a chance of 1 out of N that the next value will be exactly the same.
|
SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
|
 |
pawan chopra
Ranch Hand
Joined: Jan 23, 2008
Posts: 362
|
|
Campbell Ritchie wrote:Are you using truly random numbers (which entail possible duplications) or do you want random sampling from a diminishing population, in which case your values will be unique?
we do not want any duplications. Actually we have a user name based on that we want to generate a token id.
|
 |
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 32712
|
|
|
Do you know the user names will be free from duplications?
|
 |
pawan chopra
Ranch Hand
Joined: Jan 23, 2008
Posts: 362
|
|
Campbell Ritchie wrote:Do you know the user names will be free from duplications?
Yes. we are sure about that. I am doing like this for now. username+username.hashcode(). It will be unique.
|
 |
Rob Spoor
Sheriff
Joined: Oct 27, 2005
Posts: 19216
|
|
|
username + username.hashCode() is just as unique as username is. username.hashCode will always return the same thing for the same value of username, so you might as well have written username + 42 or simply username.
|
 |
 |
|
|
subject: Algorithm to generate random token ids.
|
|
|