diff --git a/src/blocks/frequency.js b/src/blocks/frequency.js index 8c6eab8..aabee5d 100644 --- a/src/blocks/frequency.js +++ b/src/blocks/frequency.js @@ -6,7 +6,7 @@ function getGroups(text, size){ .toLowerCase() .split(/[^a-z]/) //split on any non a-z character to get words .map((word)=>{ //turn each word into all size-length groups - groups = [] + var groups = [] for(var i = 0; i <= (word.length - size); i++){ groups.push(word.substr(i, size)); } diff --git a/src/blocks/vigenereDecode.js b/src/blocks/vigenereDecode.js index f52b43a..a3ef4c2 100644 --- a/src/blocks/vigenereDecode.js +++ b/src/blocks/vigenereDecode.js @@ -18,13 +18,14 @@ module.exports = { execute: function({cipherText, key}, elem){ var keyNums = key.split("").map(require("./util/toNum.js")); + var i = 0; return cipherText .split("") .map(require("./util/toNum.js")) .map((int, pos, ints)=>{ if(Number.isInteger(int)){ - var realCharsPosition = ints.slice(0, pos).filter((num)=>(Number.isInteger(num))).length; - return (int + 26 - keyNums[realCharsPosition%key.length])%26; + i++ + return (int + 26 - keyNums[i%key.length])%26; } else{ return int; diff --git a/src/blocks/vigenereEncode.js b/src/blocks/vigenereEncode.js index c6b98c1..88d33a6 100644 --- a/src/blocks/vigenereEncode.js +++ b/src/blocks/vigenereEncode.js @@ -17,20 +17,19 @@ module.exports = { output: true, execute: function({plaintext, key}, elem){ var keyNums = key.split("").map(require("./util/toNum.js")); - + var i = 0; return plaintext .split("") .map(require("./util/toNum.js")) .map((int, pos, ints)=>{ if(Number.isInteger(int)){ - var realCharsPosition = ints.slice(0, pos).filter((num)=>(Number.isInteger(num))).length; - return (int + keyNums[realCharsPosition % key.length]) % 26; + i++; + return (int + keyNums[i % key.length]) % 26; } else{ return int; } }) - .filter((a)=>(!Number.isNaN(a))) .map(require("./util/toChar.js")) .join(""); },