UNPKG

random-token

Version:

Random token generation of given size

36 lines (27 loc) 899 B
void function(root){ // return a number between 0 and max-1 function r(max){ return Math.floor(Math.random()*max) } function generate(salt, size){ var key = '' var sl = salt.length while ( size -- ) { var rnd = r(sl) key += salt[rnd] } return key } var rndtok = function(salt, size){ return isNaN(size) ? undefined : size < 1 ? undefined : generate(salt, size) } rndtok.gen = createGenerator function createGenerator(salt){ salt = typeof salt == 'string' && salt.length > 0 ? salt : 'abcdefghijklmnopqrstuvwxzy0123456789' var temp = rndtok.bind(rndtok, salt) temp.salt = function(){ return salt } temp.create = createGenerator temp.gen = createGenerator return temp } module.exports = createGenerator() }(this)