random-token
Version:
Random token generation of given size
36 lines (27 loc) • 899 B
JavaScript
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)