Much nicer vigenere fix
This commit is contained in:
parent
37cdd8bbc6
commit
a172488746
@ -18,19 +18,18 @@ 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)){
|
||||
i++
|
||||
return (int + 26 - keyNums[i%key.length])%26;
|
||||
this.i++;
|
||||
return (int + 26 - keyNums[this.i%key.length])%26;
|
||||
}
|
||||
else{
|
||||
return int;
|
||||
}
|
||||
})
|
||||
}, {i: -1})
|
||||
.map(require("./util/toChar.js"))
|
||||
.join("");
|
||||
},
|
||||
|
@ -17,19 +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)=>{
|
||||
.map(function(int, pos, ints){
|
||||
if(Number.isInteger(int)){
|
||||
i++;
|
||||
return (int + keyNums[i % key.length]) % 26;
|
||||
this.i++;
|
||||
return val = (int + keyNums[this.i % key.length]) % 26;
|
||||
}
|
||||
else{
|
||||
return int;
|
||||
}
|
||||
})
|
||||
}, {i: -1})
|
||||
.map(require("./util/toChar.js"))
|
||||
.join("");
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user