I want to implement a password generator, but so that all options are written to a file (for example, from the numbers "0123456789" and the password length is 3) But the file write does not work for me and does not output only with a length of 3
function genPassword(){
var possible = "0123456789".split(''),
length = 3,
i = 0,
j = 0,
step,
comb;
while(i<possible.length){
step = possible[i];
i++;
while(j<possible.length){
comb = step + '' + possible.slice(j, j + (length -1)).join('');
j++;
return comb;
}
j=0;
}
}
const m = genPassword();
const fs = require("fs");
fs.writeFile('./text.json', JSON.stringify(m), (err) => {
if (err) console.log(err);
});
If you want all possible passwords of a given length created from a given set of characters, you should loop through the array of characters each time picking one and then repeat that operation for each of the picked char till you have the requested number of characters for the password.
function genPassword() {
var chars = "0123456789".split('');
var passLen = 3;
var stack = [""];
var out = [];
while (stack.length) {
var curPass = stack.shift();
var arr = curPass.length < passLen - 1 ? stack : out;
for (let idx = 0; idx < chars.length; idx++) {
arr.push(curPass + chars[idx]);
}
}
return out;
}
console.log(genPassword());