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 相关文章推荐
javascript基础知识大集锦(二) 推荐收藏
Jan 13 Javascript
鼠标事件延时切换插件
Mar 12 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
Apr 25 Javascript
js+jquery实现图片裁剪功能
Jan 02 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
Sep 09 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
Oct 28 Javascript
jquery组件WebUploader文件上传用法详解
Oct 23 Javascript
jquery Banner轮播选项卡
Dec 26 Javascript
简单实现vue中的依赖收集与响应的方法
Feb 18 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
Dec 07 Javascript
Javascript实现鼠标点击冒泡特效
Dec 24 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
php正则表达式(regar expression)
2011/09/10 PHP
深入了解PHP类Class的概念
2012/06/14 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
python如何在终端里面显示一张图片
2016/08/17 Python
Python读写Json涉及到中文的处理方法
2016/09/12 Python
pyenv命令管理多个Python版本
2017/03/26 Python
详解Python中类的定义与使用
2017/04/11 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
Python2包含中文报错的解决方法
2018/07/09 Python
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
优秀学生干部个人的自我评价
2013/10/04 职场文书
工程管理专业个人求职信范文
2013/12/07 职场文书
校园报刊亭的创业计划书
2014/01/02 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
怎么用Python识别手势数字
2021/06/07 Python