decryption
by knunery
JavaScript
// wrote variables in python esque syntax
var input = {
message: "012222 1114142503 0313012513 03141418192102 0113 2419182119021713 06131715070119",
keyed_alphabet: "BHISOECRTMGWYVALUZDNFJKPQX"
};
var keyed_alphabet_array = input.keyed_alphabet.split('');
//var keyed_alphabet_dictionary =
var alphabet_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split('');
var message_array = input.message.split(" ");
for(var i=0; i<message_array.length; i++)
{
var number_string = message_array[i];
var number_string_char_array = number_string.split('');
var decodedString = "";
for(var j=0; j< number_string_char_array.length; j+=2)
{
var alphabetIndex = parseInt(number_string_char_array[j] + number_string_char_array[j+1]);
// look up value in plain alphabet
var encoded = alphabet_array[alphabetIndex];
// find the index of the letter in the keyed array
var index = keyed_alphabet_array.indexOf(encoded); // could optimize out indexOf lookup
// use the index from the encoding array to decode the value
decodedString += alphabet_array[index];
}
message_array[i] = decodedString;
}
console.log(message_array.join(" "));