Мне нужно иметь возможность сохранить тот же случай, то есть «Атака» будет «Lxfopv», с ключом «лимон».Кроме того, мне нужно сохранить все пробелы в сообщении для шифрования.
Я использовал оператор if для проверки пробелов
if(text.charAt(i) == ' '){
continue;
, но он, похоже, ничего не делает.
function encrypt(text, key) {
var output= '';
var alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(var i = 0; i < text.length; i++){
var a= alphabet.indexOf(key.charAt(i % key.length));
var b= alphabet.indexOf(text.charAt(i));
if(text.charAt(i) == ' '){
continue;
}else{
output += alphabet.charAt((a+ b) % alphabet.length);
}
}
return output;
}
Если передать в «Атака на рассвете», мой желаемый результат должен быть Lxfopv ef Rnhr
, но я получаю LxFopvmHOeIB
с ключом «лимон».
Как я могу исправитьэто чтобы получить желаемый результат?Это как-то связано с тем, что я жестко закодировал свой алфавит?