parent
5a8697cdd8
commit
e54a860172
1 changed files with 37 additions and 0 deletions
@ -0,0 +1,37 @@ |
||||
var rand = require('random-js'); |
||||
var fs = require('fs') |
||||
var dictionary; |
||||
var randomEngine; |
||||
var random; |
||||
|
||||
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; |
||||
dictionary = data.split(','); |
||||
|
||||
//Remove any non alpha-numeric characters
|
||||
for(var i = 0; i < dictionary.length; i++){ |
||||
dictionary[i] = dictionary[i].replace(/\W/g,''); |
||||
} |
||||
|
||||
random = rand.integer(0,dictionary.length); |
||||
randomEngine = rand.engines.nativeMath; |
||||
}); |
||||
}; |
||||
|
||||
//Generates a dictionary-based key, of keyLength words
|
||||
DictionaryGenerator.prototype.createKey = function(keyLength) { |
||||
var text = ''; |
||||
for(var i = 0; i < keyLength; i++) |
||||
text += dictionary[random(randomEngine)]; |
||||
return text; |
||||
}; |
||||
|
||||
module.exports = DictionaryGenerator; |
Loading…
Reference in new issue