Quiero implementar un generador de contraseñas, pero para que todas las opciones se escriban en un archivo (por ejemplo, de los números "0123456789" y la longitud de la contraseña es 3) Pero la escritura del archivo no me funciona y no sale solo con una longitud de 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); });
Si desea crear todas las contraseñas posibles de una longitud determinada a partir de un conjunto determinado de caracteres, debe recorrer la matriz de caracteres cada vez que elige uno y luego repetir esa operación para cada uno de los caracteres elegidos hasta que tenga el número solicitado de caracteres para la contraseña.
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());