From 2549ee68e435b77e7e07d3ea95363268cbfe9164 Mon Sep 17 00:00:00 2001 From: HumairAK Date: Thu, 21 Jul 2016 02:24:24 -0400 Subject: Added other dependencies for authentication, made minor adjustments to index.js, added templating for exams, will remove dependencie modules later, keep for now --- node_modules/rndm/index.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 node_modules/rndm/index.js (limited to 'node_modules/rndm/index.js') diff --git a/node_modules/rndm/index.js b/node_modules/rndm/index.js new file mode 100644 index 0000000..24b0ebb --- /dev/null +++ b/node_modules/rndm/index.js @@ -0,0 +1,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 + } +} -- cgit v1.2.3