//仅限英文

// 加密
function encrypt(str, num) {var outStr = "";//循环处理字符串每一个字母for (let i = 0; i < str.length; i++) {//判断如果是大写字母if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {//获取该字母的ASCII码,做相应处理后再次转换为字母添加入字符串outStr += String.fromCharCode((str.charCodeAt(i) - 65 + num + 26) % 26 + 65)}//判断如果是小写字母else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {//获取该字母的ASCII码,做相应处理后再次转换为字母添加入字符串outStr += String.fromCharCode((str.charCodeAt(i) - 97 + num + 26) % 26 + 97)}//其他类型的字符不做处理else outStr += String.fromCharCode(str.charCodeAt(i));}//返回加密后的字符串return outStr;
}// 解密
function decrypt(str, num) {var outStr = "";//循环处理字符串每一个字母for (let i = 0; i < str.length; i++) {//判断如果是大写字母if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {//获取该字母的ASCII码,做相应处理后再次转换为字母添加入字符串outStr += String.fromCharCode((str.charCodeAt(i) - 65 - num + 26) % 26 + 65)}//判断如果是小写字母else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {//获取该字母的ASCII码,做相应处理后再次转换为字母添加入字符串outStr += String.fromCharCode((str.charCodeAt(i) - 97 - num + 26) % 26 + 97)}//其他类型的字符不做处理else outStr += String.fromCharCode(str.charCodeAt(i));}//返回解密后的字符串return outStr;
}

//调用

var result1 = encrypt("Hello!", 3);
var result2 = decrypt(result1, 3);
console.log(result1);
console.log(result2);

//输出结果

JavaScript实现恺撒密码加密/解密相关推荐

  1. 凯撒密码加密解密——Java代码(密码学)

    凯撒密码加密解密--Java代码(密码学) 凯撒密码: 恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文 ...

  2. 凯撒密码加密解密C语言详细代码

    凯撒密码加密解密C语言详细代码 凯撒密码 又叫循环移位密码.它的加密方法,就是将明文中的每个字母用此字符在字母表中后面第k个字母替代.它的加密过程可以表示为下面的函数: E(m)=(m+k) mod ...

  3. 恺撒密码加解密程序(Python)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.确定恺撒密码原理,用公式表示 二.子函数的确立 1.加密部分 2.解密部分 3.选择加密还是解密 三.确定各个子函 ...

  4. C++实现古典密码-凯撒密码加密解密算法

    文章目录 第一部分 Caesar密码简介 1.1 基本思想 1.2 历史沿革 第二部分 Caesar密码的C++实现 第一部分 Caesar密码简介 1.1 基本思想 在密码学中,恺撒密码(英语:Ca ...

  5. C++凯撒密码加密解密算法

    一.算法描述 凯撒密码的加密解密算法,逻辑很简单,就是两个公式: 比如说下面这个例子的加密解密公式,就是位移量为3时的结果 加密公式 f(a)=(a+3) mod 26 解密公式 f(a)=(a+23 ...

  6. Python编程:实现凯撒密码加密解密

    凯撒密码 原理: 通过把字母移动一定的位数来实现加解密 明文中的所有字母从字母表向后(或向前)按照一个固定步长进行偏移后被替换成密文. 例如: 当步长为3时,A被替换成D,B被替换成E,依此类推,X替 ...

  7. Matlab凯撒密码加密解密

    Pratice problem: Bob wants to send the message "Start sending messages at 8:30" to Alice i ...

  8. 2.凯撒密码加密解密(C)

    明文空间M.密文空间C都是和密钥空间K满足,M=C=K={0,1,2,-,25}=Z_26 ,即把26个英文字母与整数0,1,2,-,25一一对应. 加密变换,E={E:Z26→Z26, Ek (m) ...

  9. 恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:

    题目: 恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A B C D ...

最新文章

  1. git add remote_Git每次更新提交都提示输入密码怎么解决?
  2. 哪些情况下索引会失效?
  3. C++多态案例二-制作饮品
  4. 【Linux】一步一步学Linux——newgrp命令(91)
  5. java基本数据类型与封装类 示例_Java零基础系列教程10Java抽象与封装
  6. webapi+EF(增删改查)
  7. linux服务器 远程桌面,如何远程桌面Linux服务器
  8. 潍职e校帮APP功能简介
  9. 漫画:程序员真是太太太太太有趣了!
  10. Craigslist模式在中国如何复制?中国特色的差异化在哪里?,互联网营销
  11. oracle startup作用,【学习笔记】Oracle打补丁后startup migrate、startup upgrade区别分析...
  12. 【Kettle】Kitchen和Pan的命令行参数
  13. VS2013默认打开HTML文件没有设计视图的解决办法
  14. java类型转换的要求_java数据类型04_基本数据类型转换
  15. 如何使用JavaScript 结合XSLT转换XML文档
  16. 数据结构与算法之排序
  17. 网络攻防|XSS Flash弹窗钓鱼
  18. 广义相对论与量子力学的根本矛盾是什么?
  19. sql之conver函数的使用
  20. Golang编码规范

热门文章

  1. A. Ivan the Fool and the Probability Theory
  2. Palabos User Guide中文解读 | 第七章 | Palabos的模型
  3. 未来计算机发展3000字,精选计算机实习报告范文3000字
  4. 王者荣耀战区活跃度排名怎么实现的?这篇文章给你答案!
  5. 中广互联就TVOS对王效杰司长的采访报道
  6. input 禁止手机唤起软键盘,并且光标存在
  7. Oracle企业管理器(OEM)常见问题解答
  8. 简单的点对点聊天软件
  9. 50个最受网友欢迎的HTML5资源下载列表
  10. [淘宝客技术篇006]如何登录阿里妈妈(上)