2017-06-26 16:10:57 +00:00
|
|
|
var fs = require('fs');
|
2017-06-26 15:17:52 +00:00
|
|
|
|
|
|
|
var DictionaryGenerator = function(options) {
|
|
|
|
//Options
|
|
|
|
if (!options)
|
|
|
|
return done(Error('No options passed to generator'));
|
2017-06-26 16:11:19 +00:00
|
|
|
if (!options.path)
|
2017-06-26 15:17:52 +00:00
|
|
|
return done(Error('No dictionary path specified in options'));
|
|
|
|
|
|
|
|
//Load dictionary
|
2017-06-26 15:37:04 +00:00
|
|
|
fs.readFile(options.path, 'utf8', (err,data) => {
|
2017-06-26 16:10:57 +00:00
|
|
|
if (err) throw err;
|
2017-06-26 16:03:18 +00:00
|
|
|
this.dictionary = data.split(/[\n\r]+/);
|
|
|
|
});
|
2017-06-26 15:17:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//Generates a dictionary-based key, of keyLength words
|
|
|
|
DictionaryGenerator.prototype.createKey = function(keyLength) {
|
|
|
|
var text = '';
|
2017-06-26 16:09:13 +00:00
|
|
|
for(var i = 0; i < keyLength; i++)
|
2017-06-26 16:10:57 +00:00
|
|
|
text += this.dictionary[Math.floor(Math.random() * this.dictionary.length)];
|
2017-06-26 16:03:18 +00:00
|
|
|
|
2017-06-26 15:17:52 +00:00
|
|
|
return text;
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = DictionaryGenerator;
|