333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
var assert = require('assert')
 
var base62 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
var base36 = 'abcdefghijklmnopqrstuvwxyz0123456789'
var base10 = '0123456789'
 
exports = module.exports = create(base62)
exports.base62 = exports
exports.base36 = create(base36)
exports.base10 = create(base10)
 
exports.create = create
 
function create(chars) {
  assert(typeof chars === 'string', 'the list of characters must be a string!')
  var length = Buffer.byteLength(chars)
  return function rndm(len) {
    len = len || 10
    assert(typeof len === 'number' && len >= 0, 'the length of the random string must be a number!')
    var salt = ''
    for (var i = 0; i < len; i++) salt += chars[Math.floor(length * Math.random())]
    return salt
  }
}