var input = require("fs").readFileSync("input.txt").toString().replace(/\n/g, "").replace(/\r/g, ""); var password = []; var i = 0; while(password.filter((a)=>(a)).length < 8){ var md5sum = require("crypto").createHash("md5"); md5sum.update(input + i); var hash = md5sum.digest("hex"); if(hash.slice(0, 5) == "00000"){ var position = parseInt(hash[5]); if(!password[position] && position <= 7){ password[position] = hash[6]; console.log("FOUND", i, password.length, position, hash); } } i++; if(i%100000 == 0){ console.log(i); } } console.log(password.join(""));