Moved unique identifier generation to lib/security

refs #9178
This commit is contained in:
kirrg001 2017-12-14 13:52:20 +01:00
parent 411ce69006
commit 72911862e7
2 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,28 @@
'use strict';
let _private = {};
// @TODO: replace with crypto.randomBytes
_private.getRandomInt = function (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
/**
* Return a unique identifier with the given `len`.
*
* @param {Number} maxLength
* @return {String}
* @api private
*/
module.exports.uid = function uid(maxLength) {
var buf = [],
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
charLength = chars.length,
i;
for (i = 0; i < maxLength; i = i + 1) {
buf.push(chars[_private.getRandomInt(0, charLength - 1)]);
}
return buf.join('');
};

View File

@ -11,5 +11,9 @@ module.exports = {
get string() {
return require('./string');
},
get identifier() {
return require('./identifier');
}
};