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 相关文章推荐
fromCharCode和charCodeAt 方法
Dec 27 Javascript
javascript基础第一章 JavaScript与用户端
Jul 22 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
Sep 25 Javascript
简化版手机端照片预览组件
Apr 13 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 Javascript
js实现HashTable(哈希表)的实例分析
Nov 21 Javascript
谈谈第三方App接入微信登录 解读
Dec 27 Javascript
JS 在数组指定位置插入/删除数据的方法
Jan 12 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
May 30 Javascript
JavaScript实现移动端带transition动画的轮播效果
Mar 24 Javascript
基于vuex实现购物车功能
Jan 10 Vue.js
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
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
简单的分页代码js实现
2016/05/17 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
浅谈Node.js之异步流控制
2017/10/25 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
python中pygame模块用法实例
2014/10/09 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
python 文件查找及内容匹配方法
2018/10/25 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
python3 下载网络图片代码实例
2019/08/27 Python
python3.4中清屏的处理方法
2020/07/06 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
计算机专业毕业生求职信分享
2013/12/24 职场文书
表彰先进的通报
2014/01/31 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
社会实践评语
2014/04/28 职场文书
2015年幼儿园中班工作总结
2015/04/25 职场文书
道歉的话怎么说
2015/05/12 职场文书
Python 实现Mac 屏幕截图详解
2021/10/05 Python