Much nicer vigenere fix

This commit is contained in:
Tim Stallard 2017-04-04 22:08:25 +01:00
parent 37cdd8bbc6
commit a172488746
2 changed files with 8 additions and 9 deletions

View File

@ -18,19 +18,18 @@ module.exports = {
execute: function({cipherText, key}, elem){ execute: function({cipherText, key}, elem){
var keyNums = key.split("").map(require("./util/toNum.js")); var keyNums = key.split("").map(require("./util/toNum.js"));
var i = 0;
return cipherText return cipherText
.split("") .split("")
.map(require("./util/toNum.js")) .map(require("./util/toNum.js"))
.map((int, pos, ints)=>{ .map((int, pos, ints)=>{
if(Number.isInteger(int)){ if(Number.isInteger(int)){
i++ this.i++;
return (int + 26 - keyNums[i%key.length])%26; return (int + 26 - keyNums[this.i%key.length])%26;
} }
else{ else{
return int; return int;
} }
}) }, {i: -1})
.map(require("./util/toChar.js")) .map(require("./util/toChar.js"))
.join(""); .join("");
}, },

View File

@ -17,19 +17,19 @@ module.exports = {
output: true, output: true,
execute: function({plaintext, key}, elem){ execute: function({plaintext, key}, elem){
var keyNums = key.split("").map(require("./util/toNum.js")); var keyNums = key.split("").map(require("./util/toNum.js"));
var i = 0;
return plaintext return plaintext
.split("") .split("")
.map(require("./util/toNum.js")) .map(require("./util/toNum.js"))
.map((int, pos, ints)=>{ .map(function(int, pos, ints){
if(Number.isInteger(int)){ if(Number.isInteger(int)){
i++; this.i++;
return (int + keyNums[i % key.length]) % 26; return val = (int + keyNums[this.i % key.length]) % 26;
} }
else{ else{
return int; return int;
} }
}) }, {i: -1})
.map(require("./util/toChar.js")) .map(require("./util/toChar.js"))
.join(""); .join("");
}, },