JavaScript实现的简单加密解密操作示例


Posted in Javascript onJune 01, 2018

本文实例讲述了JavaScript实现的简单加密解密操作。分享给大家供大家参考,具体如下:

JavaScript实现对内容的加密和解密。加密,转成编码。解密则是编码转字符串。

<html>
<head>
<meta charset="utf-8" />
<title>3water.com JS加密解密</title>
</head>
<body>
 <h1> 加密解密 </h1>
 <input type="text" id="secret" /> 
 <input type="button" value="加密" onclick="encode()">
 <input type="button" value="解密" onclick="decode();">
<script>
// 加密
function encode()
{  
  // var s = secret.value;
  // s 是一个字符串, 类型: String
  // 根据 s 来创建一个字符串对象
  // str 的类型是: Object
  // var str = new String(s);
  // length 是获取字符串对象的长度,也就是说有多少个字符
  // str.length
  var str = secret.value;
  var r = "";
  // string 类型的可以当做字符串对象来用
  for (var i = 0; i < str.length; i++)
  {
    // 取出下标为 i 字符的编码
    var code = str.charCodeAt(i);
    // 将字符对应的编码,拼接到一个空字符串上
    r += code;
    // 每个符号后,添加 , 分割
    r += ",";
  }
  // secret.value 
  // 设置输入框的内容为 r
  secret.value = r;
}
// 使用到知识点(1)---如何将一个 数字 转换成对应的 字符
// String.fromCharCode 
// 函数功能: 将 数字 转换成对应的 字符
// String 其实是系统的一个对象
// document.write(  String.fromCharCode(97) );
/*
var s = "97,98,99,";
// 字符串对象中 split 方法
// 作用: 按照参数 分割 字符串
// 返回值: 分割之后的 数组
var arr = s.split(",");
// 数组中多了一个空白的元素,如何处理?
// 删除数组中最后一个元素
arr.pop();
document.write(arr);
//*/
// 解密
function decode()
{
  // 获取文本框中的字符串
  // 例如: 96,97,98
  var str = secret.value;
  // 思路:
  // 1. 按照 , 分割字符串
  // 2. 将每个 分割的子字符串 转换成 数字,再转换成 字符
  //   96 97 98
  // 3. 将还原的字符,拼接在一起,再设置到 input 中去
  var arr = str.split(",");
  // 用于拼接结果的
  var r = "";
  for (var i = 0; i < arr.length; i++)
  {
    // 获取加密后的 字符串的编码,是一个数字
    var code = parseInt(arr[i]);
    r += String.fromCharCode(code);
  }
  // 将拼接后的结果,设置到 input 中
  secret.value = r;
}
</script> 
</body>
</html>

使用在线HTML/CSS/JavaScript代码运行工具http://tools.3water.com/code/HtmlJsRun测试运行结果如下:

JavaScript实现的简单加密解密操作示例

Javascript 相关文章推荐
分享十五款 jQuery 社交网络分享插件
May 16 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
Oct 16 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
Mar 13 Javascript
jQuery获取与设置iframe高度的方法
Aug 01 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
vue2.0 keep-alive最佳实践
Jul 06 Javascript
利用nvm管理多个版本的node.js与npm详解
Nov 02 Javascript
layer插件select选中默认值的方法
Aug 14 Javascript
javascript中的数据类型检测方法详解
Aug 07 Javascript
vue实现员工信息录入功能
Jun 11 Javascript
mpvue 项目初始化及实现授权登录的实现方法
Jul 20 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 Javascript
JS引用传递与值传递的区别与用法分析
Jun 01 #Javascript
Express之托管静态文件的方法
Jun 01 #Javascript
纯JS实现出生日期[年月日]下拉菜单效果
Jun 01 #Javascript
详解Angular操作cookies方法
Jun 01 #Javascript
浅谈手写node可读流之流动模式
Jun 01 #Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
Jun 01 #Javascript
基于JS实现带动画效果的流程进度条
Jun 01 #Javascript
You might like
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
jquery select选中的一个小问题
2009/10/11 Javascript
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
json中换行符的处理方法示例介绍
2014/06/10 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
Vue退出登录时清空缓存的实现
2019/11/12 Javascript
小程序实现简单语音聊天的示例代码
2020/07/24 Javascript
python数据结构之二叉树的遍历实例
2014/04/29 Python
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
XD健身器材:Kevlar球、Crossfit健身球
2019/03/26 全球购物
Solaris操作系统的线程机制
2012/12/23 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
会计学自我鉴定
2014/02/06 职场文书
优秀实习生感言
2014/03/01 职场文书
初中生期末评语大全
2014/04/24 职场文书
大型活动组织方案
2014/05/10 职场文书
挂靠协议书
2015/01/27 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
五年级作文之成长
2019/09/16 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android
MySQL系列之六 用户与授权
2021/07/02 MySQL
python自动化测试之Selenium详解
2022/03/13 Python