master
Raw Download raw file
  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