恺撒密码(Caesar cipher),也被称为移位密码(shift cipher)。在移位密码中,明文中的字母通过按照一个固定数目进行偏移后被替换成新的字母。
现代最常被应用到的一个变种就是 ROT13 加密,也就是明文中的字母向后移 13 位。也就是,A ↔️ N,B ↔️ O等等。
编写一个函数,它将把使用 ROT13 加密编码的字符串作为输入并返回解码字符串。
所有解码后的字母都必须为字母大写。请不要解码非字母的字符(例如,空格、标点符号),但需要在结果中保留它们。
function rot13(str) { const abc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ' let res = [] for (let i = 0; i < str.length; i++) { let char = str[i] if (abc.includes(char)) { let index = abc.indexOf(char) + 13 res.push(abc[index]) } else { res.push(char) } } return res.join('') }
本文作者:a
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!