diff --git a/lib/key_generators/dictionary.js b/lib/key_generators/dictionary.js new file mode 100644 index 0000000..d7b515f --- /dev/null +++ b/lib/key_generators/dictionary.js @@ -0,0 +1,26 @@ +var fs = require('fs'); + +var DictionaryGenerator = function(options) { + //Options + if (!options) + return done(Error('No options passed to generator')); + if (!options.path) + return done(Error('No dictionary path specified in options')); + + //Load dictionary + fs.readFile(options.path, 'utf8', (err,data) => { + if (err) throw err; + this.dictionary = data.split(/[\n\r]+/); + }); +}; + +//Generates a dictionary-based key, of keyLength words +DictionaryGenerator.prototype.createKey = function(keyLength) { + var text = ''; + for(var i = 0; i < keyLength; i++) + text += this.dictionary[Math.floor(Math.random() * this.dictionary.length)]; + + return text; +}; + +module.exports = DictionaryGenerator;