首页 > 其他分享 >JS凯撒密码

JS凯撒密码

时间:2022-08-31 09:46:33浏览次数:61  
标签:function && JS 密码 str charCodeAt 凯撒

JS凯撒密码

加密

function jiami(str, num) {
      var newStr = "";
      for (let i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
          newStr += String.fromCharCode((str.charCodeAt(i) - 65 + num + 26) % 26 + 65)
        }
        else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
          newStr += String.fromCharCode((str.charCodeAt(i) - 97 + num + 26) % 26 + 97)
        }
        //特殊符号不做处理
        else newStr += String.fromCharCode(str.charCodeAt(i));
      }
      // console.log(newStr);
      return newStr;
    }

    var result1 = jiami("zlf.zlf.666", 3);
    console.log(result1);

解密

function jiemi(str, num) {
      var newStr = "";
      for (let i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
          newStr += String.fromCharCode((str.charCodeAt(i) - 65 - num + 26) % 26 + 65)
        }
        else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
          newStr += String.fromCharCode((str.charCodeAt(i) - 97 - num + 26) % 26 + 97)
        }
        //特殊符号不做处理
        else newStr += String.fromCharCode(str.charCodeAt(i));
      }
      return newStr;
    }

    var result2 = jiemi("coi.coi.666", 3);
    console.log(result2);

 

标签:function,&&,JS,密码,str,charCodeAt,凯撒
From: https://www.cnblogs.com/Im-Victor/p/16641890.html

相关文章

  • 使用js实现5种加密解密算法(凯撒密码、字母倒排序、单表置换、维基利亚、转换加密算法
    在学习操作系统的时候,我们会学到系统安全的章节,而在这一块会有关于加密解密算法的学习。一共有5种常见的加密解密算法:凯撒密码、字母倒排序、单表置换、维基利亚、转换加......
  • 什么是 Node.js?
    什么是Node.js?Node.js是一个开源、跨平台的后端JavaScript运行环境,运行在V8引擎上,并在Web浏览器之外执行JavaScript代码,旨在构建可扩展的网络应用程序。关键......
  • NodeJS 网关 — 第 2 部分:设置我们的数据库 (MongoDB)
    NodeJS网关—第2部分:设置我们的数据库(MongoDB)Photoby鲁拜图尔·阿扎德on不飞溅NoSQL数据库使您可以轻松地开始使用基本模式开发项目或应用程序,并且由于......
  • 说一说JS数据类型有哪些,区别是什么?
    JS数据类型分为两类:一类是基本数据类型,也叫简单数据类型,包含7种类型,分别是Number、String、Boolean、BigInt、Symbol、Null、Undefined。另一类是引用数据类型也叫复杂数......
  • JSON.parse(JSON.stringify()) 实现对对象的深拷贝
    JSON.parse(JSON.stringify(obj))我们一般用来深拷贝,其过程说白了就是利用JSON.stringify将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象;序列化的作......
  • Java-JSP(1)
    JSP1.jsp原理jsp全称JavaServerPages,是一种动态网页技术,JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。jsp文件在最后会......
  • React报错之Property does not exist on type 'JSX.IntrinsicElements'
    正文从这开始~总览当组件名称以小写字母开头时,会导致"Propertydoesnotexistontype'JSX.IntrinsicElements'"错误。为了解决该错误,确保组件名称总是以大写字母开头,......
  • d3.js 分页加载
    当数据量过大时,使用d3.js渲染各种图时,如果一下子加载出来,会出现加载过慢,这样使用效果就不是太好,为了解决这个问题,使用了分页加载数据并渐进渲染各种图。一、数据格式......
  • turn.js书本翻页效果插件
     可以制作软纸页或者硬纸页的翻页动画,可设置双页或单页展示。 CDN地址:CDN-turn.js(baomitu.com)官网:Turn.js:ThepageflipeffectinHTML5(turnjs.com)官方......
  • js三级联动
    <divclass="container"><selectname=""id="hero"><optionvalue="">-请选择-</option></select><selectname=""id="skin"......