File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Java in General and the fly likes Algorithm to generate random token ids. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Algorithm to generate random token ids." Watch "Algorithm to generate random token ids." New topic
Author

Algorithm to generate random token ids.

pawan chopra
Ranch Hand

Joined: Jan 23, 2008
Posts: 413

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: 181
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: 40058
    
  28
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: 19790
    
  20

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 - OCEEJBD 6
How To Ask Questions How To Answer Questions
pawan chopra
Ranch Hand

Joined: Jan 23, 2008
Posts: 413

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: 40058
    
  28
Do you know the user names will be free from duplications?
pawan chopra
Ranch Hand

Joined: Jan 23, 2008
Posts: 413

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: 19790
    
  20

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.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Algorithm to generate random token ids.