Skip to content

Instantly share code, notes, and snippets.

@mizdra
Created December 11, 2016 10:23
Show Gist options
  • Save mizdra/a39f5fe70020ee660f388549611f6cf8 to your computer and use it in GitHub Desktop.
Save mizdra/a39f5fe70020ee660f388549611f6cf8 to your computer and use it in GitHub Desktop.
const key = 'VIGENERECODEVIGENERECODEVIGENERECODEVIGENER';
const table = {
'A': 'ABCDEFGHIJKLMNOPQRSTUVWXYZ{}',
'B': 'BCDEFGHIJKLMNOPQRSTUVWXYZ{}A',
'C': 'CDEFGHIJKLMNOPQRSTUVWXYZ{}AB',
'D': 'DEFGHIJKLMNOPQRSTUVWXYZ{}ABC',
'E': 'EFGHIJKLMNOPQRSTUVWXYZ{}ABCD',
'F': 'FGHIJKLMNOPQRSTUVWXYZ{}ABCDE',
'G': 'GHIJKLMNOPQRSTUVWXYZ{}ABCDEF',
'H': 'HIJKLMNOPQRSTUVWXYZ{}ABCDEFG',
'I': 'IJKLMNOPQRSTUVWXYZ{}ABCDEFGH',
'J': 'JKLMNOPQRSTUVWXYZ{}ABCDEFGHI',
'K': 'KLMNOPQRSTUVWXYZ{}ABCDEFGHIJ',
'L': 'LMNOPQRSTUVWXYZ{}ABCDEFGHIJK',
'M': 'MNOPQRSTUVWXYZ{}ABCDEFGHIJKL',
'N': 'NOPQRSTUVWXYZ{}ABCDEFGHIJKLM',
'O': 'OPQRSTUVWXYZ{}ABCDEFGHIJKLMN',
'P': 'PQRSTUVWXYZ{}ABCDEFGHIJKLMNO',
'Q': 'QRSTUVWXYZ{}ABCDEFGHIJKLMNOP',
'R': 'RSTUVWXYZ{}ABCDEFGHIJKLMNOPQ',
'S': 'STUVWXYZ{}ABCDEFGHIJKLMNOPQR',
'T': 'TUVWXYZ{}ABCDEFGHIJKLMNOPQRS',
'U': 'UVWXYZ{}ABCDEFGHIJKLMNOPQRST',
'V': 'VWXYZ{}ABCDEFGHIJKLMNOPQRSTU',
'W': 'WXYZ{}ABCDEFGHIJKLMNOPQRSTUV',
'X': 'XYZ{}ABCDEFGHIJKLMNOPQRSTUVW',
'Y': 'YZ{}ABCDEFGHIJKLMNOPQRSTUVWX',
'Z': 'Z{}ABCDEFGHIJKLMNOPQRSTUVWXY',
'{': '{}ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'}': '}ABCDEFGHIJKLMNOPQRSTUVWXYZ{',
'?': '????????????????????????????',
};
const plane = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ{}';
const ci = 'LMIG}RPEDOEEWKJIQIWKJWMNDTSR}TFVUFWYOCBAJBQ';
let result = '';
for (let i = 0; i < ci.length; i++) {
const k = key[i];
const c = ci[i];
const p = plane[table[k].search(c)];
console.log(k, c, table[k].search(c), p);
result += p === undefined ? '?' : p;
}
console.log(result);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment