Caesars Cipher
让上帝的归上帝,凯撒的归凯撒。
下面我们来介绍风靡全球的凯撒密码Caesar cipher
,又叫移位密码。
移位密码也就是密码中的字母会按照指定的数量来做移位。
一个常见的案例就是ROT13密码,字母会移位13个位置。由'A' ↔ 'N', 'B' ↔ 'O',以此类推。
写一个ROT13函数,实现输入加密字符串,输出解密字符串。
所有的字母都是大写,不要转化任何非字母形式的字符(例如:空格,标点符号),遇到这些特殊字符,跳过它们。
这是一些对你有帮助的资源:
- String.charCodeAt()
- String.fromCharCode()
按照题目思路就好
function rot13(str) { var result=[];for(var i=0;i<str.length;i++){if(str.charCodeAt(i)>=65&&str.charCodeAt(i)<=77){result.push(String.fromCharCode(str.charCodeAt(i)+13));}else if(str.charCodeAt(i)>=78&&str.charCodeAt(i)<=90){result.push(String.fromCharCode(str.charCodeAt(i)-13));}else{result.push(String.fromCharCode(str.charCodeAt(i)));} }return result.join(''); }
其实两种方法差不多
function rot13(str) { // LBH QVQ VG!var result = '';for(let i=0;i<str.length;i++){var idx = str[i].charCodeAt();if(idx>=65&&idx<=77){result += String.fromCharCode(idx+13);}else if(idx>77&&idx<=90){result += String.fromCharCode(idx-13);}else{result += str[i];}}return result; }
转载于:https://www.cnblogs.com/renbo/p/6670929.html
Caesars Cipher相关推荐
- JS:Caesars Cipher(凯撒密码)
Caesars Cipher 凯撒密码 (让上帝的归上帝,凯撒的归凯撒) 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密码. 移位密码也就是密码中的字母会按照指定的数量来做移位 ...
- FreeCodeCamp Caesars密码项目的演练
Project 3 from JavaScript Algos and DS Certification. JavaScript Algos和DS认证的Project 3. We're continu ...
- freeCodeCamp算法
/* Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 */ function re ...
- Freecodecamp 刷题记录——前端基础算法
Basic Front End Development Projects Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化 ...
- JavaScript算法学习
1.Array.prototype.filter() filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素. 这个要注意的是返回值是"一个包含回调函数为其返回tr ...
- E - Right-Left Cipher CodeForces - 1087A (模拟)
E - Right-Left Cipher CodeForces - 1087A 题解 一左一右输出 自己的 low 代码 #include<bits/stdc++.h> using na ...
- phpmyadmin登录报错crypt_random_string requires at least one symmetric cipher be loaded 解决方法
phpmyadmin登录报错crypt_random_string requires at least one symmetric cipher be loaded 解决方法 参考文章: (1)php ...
- 部署laravel报错:No supported encrypter found. The cipher and / or key length are invalid.
一.背景 把laravel项目部署到服务器上.访问时候,报错信息为: No supported encrypter found. The cipher and / or key length are ...
- windows下cipher和efsdump工具的初步使用
efsdump工具,显示EFS加密文件的信息: 先找个文件,用EFS加密,然后用efsdump看一下: 假设加密 使用说明.txt:属性,高级: 加密文件: 当前电脑不能使用EFS: 直接下一个efs ...
最新文章
- 每天2小时,吃透 985博士总结的这套保姆级TensorFlow + PyTorch笔记(20G高清/PPT/代码)...
- Android老版本项目导入到新版SDK提示错误
- Node和java和php,服务端I/O性能大比拼:Node、PHP、Java和Go(三)
- Google地图搜索的触角伸向月球
- python3的位移操作
- Python语言学习之文件格式后缀那些事:python和常见各种文件格式后缀介绍、使用方法之详细攻略
- 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(二)
- Linux系统常用命令以及常见问题的解决方法
- 232/485电平,OC门,OD门,TTL电平,CMOS电平,
- python socket poll
- 常用命令-JAVA大数据-Week5-DAY2-linux
- NUC1931 Problem D 区间素数【素数筛选】
- ux.form.field.KindEditor 所见所得编辑器
- ubuntu14.04 server 安装docker
- access建立er图_ER图的构建
- 绕过tp路由器管理密码_TP-Link无线路由器管理员密码是什么?
- 机器人感知与规划笔记 (2) - 传感器(Sensor)类型及其限制
- 详细分析本机号码一键登录原理!建议收藏
- PCB的ESD防护设计
- 教务系统自动评教_新版正方教务管理系统自动评教脚本