我的任务是使用java脚本简单地加密和解密输入和输出框中的文本。一切都已经存在,但我的工作是弄清楚如何编写Ceaser密码。我可以得到一个简单的算法吗?谢谢。
答案 0 :(得分:0)
你很可能想要实现rot13密码,因为它使加密/解密成为相同的算法。这样,您将字符增加13以获得“加密”版本。如果A为1且Z为26,则加密时,A => N(1 => 14)且Z => M(26 => 13)然后解密,N => A(14 => 1); M => Z(13 => 26)。
function rot13(str) {
return (str + '').replace(/[a-z]/gi, function (s) {
return String.fromCharCode(s.charCodeAt(0) + (s.toLowerCase() < 'n' ? 13 : -13));
});
}
答案 1 :(得分:0)
获取带有a..z + a..z的引用字符串,并使用Builders构造加密字符串,其中包含一些逻辑,如下所示,此处消息将是用户输入的字符串,ref将是az和currchar的简单引用字符串将存储我们要替换的当前char的索引...简单
for(int i=0;i<message.length();i++){
currchar =ref.indexOf(message.charAt(i));
currchar = currchar+shift;
mEn.insert(i,ref.charAt(currchar));
}