diff --git a/day05/part1.js b/day05/part1.js index 676bedd..e476025 100644 --- a/day05/part1.js +++ b/day05/part1.js @@ -1,16 +1,13 @@ 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){ +while(password.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); - } + password.push(hash[5]); + console.log("FOUND", i, password.length); } i++; if(i%100000 == 0){ diff --git a/day05/part2.js b/day05/part2.js new file mode 100644 index 0000000..676bedd --- /dev/null +++ b/day05/part2.js @@ -0,0 +1,20 @@ +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(""));