-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtools.js
95 lines (77 loc) · 1.68 KB
/
tools.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
function ascii (a) { return a.charCodeAt(0); }
function codeToAscii(number){
return String.fromCharCode(number);
}
module.exports = {
CeasarCipher: function(text, shift,method){
var citext = "";
if(method === "Encode"){
for (let i = 0; i < text.length; i++){
if(text[i] === " "){
citext += " ";
//i++;
}
else{
citext += codeToAscii(ascii(text[i]) + shift);
// console.log(codeToAscii((ascii(text[i]))));
}
}
return citext;
} else{
for (let i = 0; i < text.length; i++){
if(text[i] === " "){
citext += " ";
//i++;
}
else{
citext += codeToAscii(ascii(text[i]) - shift);
console.log(codeToAscii((ascii(text[i]))));
}
}
return citext;
}
}
VigenereCipher : function(text,key,method){
text = text.toLowerCase();
var citext = "";
var newKey = "";
let z =0;
let hold =0;
for (let i =0; i < text.length + hold; i++){
if (z === key.length ){
z = 0;
hold++;
} else {
newKey += key[z];
z++;
}
}
//console.log(newKey);
if (method === "Encode"){
for (let i =0; i < text.length; i++){
if(text[i] === " "){
citext += " ";
//i++;
}
else{
citext += codeToAscii(((ascii(text[i]) - 64 + ascii(newKey[i])) % 26) + 97);
// console.log(((ascii(text[i]) - 64 + ascii(newKey[i])) % 26) + 97);
}
}
return citext;
}else{
for (let i =0; i < text.length; i++){
if(text[i] === " "){
citext += " ";
//i++;
}
else{
citext += codeToAscii(((ascii(text[i]) - ascii(newKey[i]) + 26) % 26) + 97);
// console.log(codeToAscii((ascii(text[i]))));
}
}
return citext;
}
//console.log(citext);
}
}