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

2、所有的字母都是大写(每个字母都有其对应的Unicode--UTF16值),不要转化任何非字母形式的字符(例如:空格、标点符号)。

3、编码思路~~A的ASCLL码值为65,M为77、Z为90. A的ROT13函数即 N=A+13 。而处理非字母字符串时只需等于自身即可。

function rot13(str){
var arr = [];
    for(var i=0;i<str.length;i++){
      var num = str.charCodeAt(i);   // 字母转为Unicode值
      if(num>=65&&num<=90){
 if(num<=77){
    num = num + 13;           
    }
   else{num = num -13;}       //判断是否为字母,N前段+13,后-13。
      }
      arr[i] = String.fromCharCode(num);    //非字母的空格、标点符号等于自身
    }             
    return arr.join("");
}
rot13("SERR PBQR PNZC");


小知识

1、String.charCodeAt()  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt

    String.fromCharCode()  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode

而对于数组的定义方式:
var arr = [];
var arr = new Array();

这两种方式是一样的,没什么区别,一种是通过直接量定义,一种是通过JavaScript的内置对象来定义。但是用哪种方式有时候要看定义什么样的数组

比如new Array(10) 和 [10]这肯定是不一样的

前者new Array(10) 是定义10个空间大小的数组,每个数组的值都为undefined
后者是定义[10]1个空间大小的数组,并且这个数组的值为10

Caesers Cipher (凯撒密码)相关推荐

  1. JS:Caesars Cipher(凯撒密码)

    Caesars Cipher 凯撒密码 (让上帝的归上帝,凯撒的归凯撒) 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密码. 移位密码也就是密码中的字母会按照指定的数量来做移位 ...

  2. 凯撒密码pythin密码_凯撒密码术

    凯撒密码pythin密码 Caesar cipher is one of the well-known techniques used for encrypting the data. Althoug ...

  3. 什么是替换加密(凯撒密码)?原理是什么?

    首先了解一下什么是凯撒密码(Caesar Cipher) 凯撒密码 (英語:Caesar cipher), 或称凯撒加密.凯撒变换.变换加密,是一种最简单且最广为人知的加密技术. 凯撒密码是一种替换加 ...

  4. rust(58)-凯撒密码

    在密码学中,凯撒密码(英语:Caesar cipher),或称凯撒加密.凯撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一 ...

  5. python凯撒密码实现_密码:凯撒密码及其Python实现

    python凯撒密码实现 Before we start let's some basic terminology... 在开始之前,让我们先介绍一些基本术语... The art and scien ...

  6. 凯撒密码和栅栏密码 - 密码学01

    凯撒密码和栅栏密码 让编程改变世界 Change the world by program 我们将会学到什么?! 这相信是大家广泛关注的话题,因为如果一开始给大家一个强大而震撼的目录,然后就是一屁股的 ...

  7. 【C基础练习题】Week9:凯撒密码 | 按空格切分字符串 | 单词折半拆分

    目录 第一题:凯撒密码 第二题:按空格切分字符串 第三题:单词折半拆分 第一题:凯撒密码 [百度百科]在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种 ...

  8. python实现凯撒密码加密与解密(暴力求解)

    在密码学中,凯撒密码(英语:Caesar cipher),或称凯撒加密.凯撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一 ...

  9. 凯撒密码:设想在某些情况下给朋友传递字条信息,但又不希望传递中途被第三方看懂这些信息,因此需要对字条信息进行加密处理

    题目 凯撒密码:设想在某些情况下给朋友传递字条信息,但又不希望传递中途被第三方看懂这些信息,因此需要对字条信息进行加密处理.凯撒密码采用了替换算法对信息中的每一个英文字符循环替换为该字符后面第三个字符 ...

最新文章

  1. CentOS7 打包RPM 升级OpenSSH8.3
  2. 高级语言的编译:链接及装载过程介绍
  3. 2020-12-11 keras通过model.fit_generator训练模型(节省内存)
  4. 很气很气——在python中切换selenium中的窗口
  5. 我如何开始学习编码:前三个月使用的资源
  6. 蓝桥杯日期填空问题:高斯日记/星系炸弹
  7. source ubuntu 退出_ubuntu中安装JDK和Tomcat(一)
  8. 软件测试——测试用例设计测试分类详解
  9. Universal Radio Hacker(URH):一个用于逆向解析和攻击无线通信协议的开源工具
  10. SPI 接口OLED 使用5V 信号驱动可能需要电平转换
  11. 适合的才是最好的:记一次内网安装feather经历
  12. Lesson 43 Smart 组件 vs Dumb 组件
  13. 用python打印学生名单_Python2爬取学生名单
  14. 计算机英语格式怎么写,26个英文字母,正确的书写格式,孩子真的会吗?
  15. 在线付费问诊互联网医院智慧医疗系统包含哪些功能
  16. 计算机文档字体替换,word2007进行字体替换的两种方法
  17. 职场,社恐的终极噩梦
  18. MATLAB Simulink 仿真
  19. python培训报告,简述Python语言经验总结_python知识点总结_python培训
  20. 随机变量的特征函数及应用

热门文章

  1. 深度学习大图切成小块图片代码---针对图像分割而言
  2. 在超级终端中不能输入东西
  3. MPU9250对初始数据的读取
  4. Android应用UI自动化测试(Python+appium之appium启动APP前配置的参数)
  5. CentOs 7切换图形界面
  6. 【输出N行杨辉三角形】两种输出方式(直角三角形型和等腰三角形型)C语言
  7. 给mongodb设置密码
  8. ​网络赚钱的几个逻辑
  9. Go 语言 exec 实时获取外部命令的执行输出
  10. 判断滚动条是上滑还是下滑