JavaScript恺撒密码(freeCodeCamp项目)

25次阅读
没有评论

共计 477 个字符,预计需要花费 2 分钟才能阅读完成。

需求

恺撒密码(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('')
}

正文完
post-qrcode
 0
三毛
版权声明:本站原创文章,由 三毛 于2023-09-22发表,共计477字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)