我需要能够保持相同的大小写,即“攻击”将是“ 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的是“柠檬”键。
如何解决此问题以获得所需的输出?我已经对字母进行了硬编码,这与它有关吗?
相关分类