1 | void function(root){
|
2 |
|
3 |
|
4 | function r(max){ return Math.floor(Math.random()*max) }
|
5 |
|
6 | function generate(salt, size){
|
7 | var key = ''
|
8 | var sl = salt.length
|
9 | while ( size -- ) {
|
10 | var rnd = r(sl)
|
11 | key += salt[rnd]
|
12 | }
|
13 | return key
|
14 | }
|
15 |
|
16 | var rndtok = function(salt, size){
|
17 | return isNaN(size) ? undefined :
|
18 | size < 1 ? undefined : generate(salt, size)
|
19 |
|
20 | }
|
21 |
|
22 | function createGenerator(salt){
|
23 | salt = typeof salt == 'string' && salt.length > 0 ? salt : 'abcdefghijklmnopqrstuvwxzy0123456789'
|
24 | var temp = rndtok.bind(rndtok, salt)
|
25 | temp.salt = function(){ return salt }
|
26 | temp.create = createGenerator
|
27 | return temp
|
28 | }
|
29 |
|
30 | rndtok.gen = createGenerator
|
31 |
|
32 | module.exports = createGenerator()
|
33 |
|
34 | }(this)
|