FCC-JS-BAS-Caesars Cipher-凯撒密码

凯撒密码

(让上帝的归上帝,凯撒的归凯撒)

下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密码。

移位密码也就是密码中的字母会按照指定的数量来做移位。

一个常见的案例就是ROT13密码,字母会移位13个位置。由'A' ↔ 'N', 'B' ↔ 'O',以此类推。

写一个ROT13函数,实现输入加密字符串,输出解密字符串。

所有的字母都是大写,不要转化任何非字母形式的字符(例如:空格,标点符号),遇到这些特殊字符,跳过它们。

当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。

这是一些对你有帮助的资源:

String.charCodeAt()

String.fromCharCode()

示例:

function rot13(str) { // LBH QVQ VG!

  // 请把你的代码写在这里

  var temp_array = [];//新建一个数据

  for (var i = 0;i<str.length;i++){

     if (str.charCodeAt(i)<65 || str.charCodeAt(i)> 90){

       temp_array.push(str.charAt(i));//其它字符原样返回

     } else if (str.charCodeAt(i)>77){

       temp_array.push(String.fromCharCode(str.charCodeAt(i)-13));

     }else{

       temp_array.push(String.fromCharCode(str.charCodeAt(i)+13));

     }

  }

  return temp_array.join("");//数组拼接成字符串

}

rot13("SERR PBQR PNZC");  // 你可以修改这一行来测试你的代码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ——写给曾经北漂和正在北漂的姑娘们 (一) 坐在办公桌前,看着窗外渐渐亮起来的天空,林紫长长地出了口气。 ...
    云更容易阅读 258评论 2 2
  • 在阳光下,持本经典体悟圣贤之道。心中的怠惰豁然消散,该努力时就尽力以达。努力后了容许小懒一下。或打个盹、或听风来、...
    孤风炫尘阅读 111评论 0 1
  • load和initialize的共性 1.都是为了应用运行提前创建合适的运行环境在不考虑开发者主动使用的情况下,系...
    小笨憨阅读 295评论 0 1