I want to create a random string (token) which can be used to identify a user whilst avoiding any potential conflicts with any other users' tokens.
What I was thinking of was an MD5 hash of navigator.userAgent + new Date().getTime()
to generate the token but that requires a whole Javascript MD5 library to hash it which I don't really want to do.
It has to be made up of A-Z/0-9 characters and ideally no longer than 32 characters. I am open to all ideas. Thanks!
Just to clarify I'm not looking for any random string generator, the random string has to be generated from the users details available through Javascript and can also use time to avoid potential conflicts!
You could generate a random number and convert it to base 36 (0-9a-z
):
var rand = function() {
return Math.random().toString(36).substr(2); // remove `0.`
};
var token = function() {
return rand() + rand(); // to make it longer
};
token(); // "bnh5yzdirjinqaorq0ox1tf383nb3xr"