master
1function charToInt(char){
2 switch(char){
3 case 'a' : return 0;
4 case 'b' : return 1;
5 case 'c' : return 2;
6 case 'd' : return 3;
7 case 'e' : return 4;
8 case 'f' : return 5;
9 case 'g' : return 6;
10 case 'h' : return 7;
11 case 'i' : return 8;
12 case 'j' : return 9;
13 case 'k' : return 10;
14 case 'l' : return 11;
15 case 'm' : return 12;
16 case 'n' : return 13;
17 case 'o' : return 14;
18 case 'p' : return 15;
19 case 'q' : return 16;
20 case 'r' : return 17;
21 case 's' : return 18;
22 case 't' : return 19;
23 case 'u' : return 20;
24 case 'v' : return 21;
25 case 'w' : return 22;
26 case 'x' : return 23;
27 case 'y' : return 24;
28 case 'z' : return 25;
29 default : console.log("ERROR");
30 }
31}
32function intToChar(int){
33 switch(int){
34 case 0 : return 'a';
35 case 1 : return 'b';
36 case 2 : return 'c';
37 case 3 : return 'd';
38 case 4 : return 'e';
39 case 5 : return 'f';
40 case 6 : return 'g';
41 case 7 : return 'h';
42 case 8 : return 'i';
43 case 9 : return 'j';
44 case 10 : return 'k';
45 case 11 : return 'l';
46 case 12 : return 'm';
47 case 13 : return 'n';
48 case 14 : return 'o';
49 case 15 : return 'p';
50 case 16 : return 'q';
51 case 17 : return 'r';
52 case 18 : return 's';
53 case 19 : return 't';
54 case 20 : return 'u';
55 case 21 : return 'v';
56 case 22 : return 'w';
57 case 23 : return 'x';
58 case 24 : return 'y';
59 case 25 : return 'z';
60 default : console.log("ERROR");
61 }
62}
63function formatString(str){
64 str = str.replace(/\s+/g, '');
65 str = str.replace(/[\.,-\/#!$%\^&\*\';:{}=\-_`~()]/g,"");
66 str = str.replace(/[0-9]/g, '');
67 str = str.toLowerCase();
68 return str;
69}
70
71function stringToNumArray(str){
72 var numArray = [];
73 for (i=0; i<str.length; i++){
74 numArray[i] = charToInt(str.substring(i,i+1));
75 }
76 return numArray;
77}
78
79function numArrayToString(numArray){
80 var string = '';
81 for (i=0; i<numArray.length; i++){
82 string = string + intToChar(numArray[i]);
83 }
84 return string;
85}
86
87function shiftNumArray(numArray,offset){
88 for(i=0; i<numArray.length; i++){
89 numArray[i] = (numArray[i] + offset) % 26;
90 }
91 return numArray;
92}
93
94function shiftString(str,offset){
95 return numArrayToString(shiftNumArray(stringToNumArray(str),offset));
96}
97
98function dumbAssShift(str){
99 console.log(shiftString(str,1));
100 console.log(shiftString(str,2));
101 console.log(shiftString(str,3));
102 console.log(shiftString(str,4));
103 console.log(shiftString(str,5));
104 console.log(shiftString(str,6));
105 console.log(shiftString(str,7));
106 console.log(shiftString(str,8));
107 console.log(shiftString(str,9));
108 console.log(shiftString(str,10));
109 console.log(shiftString(str,11));
110 console.log(shiftString(str,12));
111 console.log(shiftString(str,13));
112 console.log(shiftString(str,14));
113 console.log(shiftString(str,15));
114 console.log(shiftString(str,16));
115 console.log(shiftString(str,17));
116 console.log(shiftString(str,18));
117 console.log(shiftString(str,19));
118 console.log(shiftString(str,20));
119 console.log(shiftString(str,21));
120 console.log(shiftString(str,22));
121 console.log(shiftString(str,23));
122 console.log(shiftString(str,24));
123 console.log(shiftString(str,25));
124 console.log(shiftString(str,26));
125}
126
127var test_string = 'a b c d e f g h i j k l m n o p q r s t u v w x y z';
128test_string = formatString(test_string);
129var numArray = [];
130var decode1 = "R SVZI BLFI SVZIG YVZG GL GSV YVZG LU GSV WIFNH. LS, DSZG Z HSZNV GSZG BLF XZNV SVIV DRGS HLNVLMV. HL DSROV BLF'IV SVIV RM NB ZINH. OVG'H NZPV GSV NLHG LU GSV MRTSG ORPV DV'IV TLMMZ WRV NRNZHVPZXGVT";
131var decode2 = "YUN IOA D TA HTEL KW RGIG OAYUN IOOG WK'ET RWNTI GA DLM. IGH DOY U NI ESDMD, SU CINL ETPEKEIG WOESGR OAD GTIKEHKO TAW CNDT. INM ROA D GHR AE COHR IEEEONTWROADG, RU HEEPHOI GHNSNSA MNTEOROADGTO. ANY FNT O AWS OPDE, PNRY, G TIPY UNIE SC YAI'N WH TEAT OH SOOE";
132var decode3 = "M POAE REX YPRBM VFU AAKOVL FZW RWSDC ZEUK 1 MSCK. QPIV XWDQ NKJOW CHY KH EHGNYDMI QAUB V YFELW. UHZ'V CEI AO J KFL BROU VO ADCHJAXLSIYG. NT OKNFH KS YCUUI YIJUB YUGZII ROA SJSSEAYII";
133var decode4 = "LLVBW MLUQL UFPMW JVKUO RNIKL RLJLT EKPTS ZTDTN SKOPJ WUZLD SIBRF FWHTF RYQYS WHMRM SLNBM YIOIT PWFBD OIVHD UWEWI KZEBM TGOGS PWLQR QOFGR UNMIO YPPEB EXTOS KGDJN FCEYI RLJEC ";
134decode1 = formatString(decode1);
135decode2 = formatString(decode2);
136decode3 = formatString(decode3);
137decode4 = formatString(decode4);
138
139console.log(test_string);
140//dumbAssShift(test_string);
141
142console.log(decode1);
143//dumbAssShift(decode1);
144//dumbAssShift(decode2);
145dumbAssShift(decode3);
146//dumbAssShift(decode4);
147
148