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读取ASP设定的COOKIE
Nov 24 Javascript
找到一点可怜的关于dojo资料,谢谢作者!
Dec 06 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
Jul 22 Javascript
js获取select选中的option的text示例代码
Dec 19 Javascript
Array栈方法和队列方法的特点说明
Jan 24 Javascript
javascript跨浏览器的属性判断方法
Mar 16 Javascript
JavaScript中textRange对象使用方法小结
Mar 24 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
JavaScript实现简单的双色球(实例讲解)
Jul 31 Javascript
angular指令笔记ng-options的使用方法
Sep 18 Javascript
node中实现删除目录的几种方法
Jun 24 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
Aug 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
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
Vue实现验证码功能
2019/12/03 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
python回调函数的使用方法
2014/01/23 Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
python3中property使用方法详解
2019/04/23 Python
python程序控制NAO机器人行走
2019/04/29 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
写出一个方法实现冒泡排序
2016/07/08 面试题
室内设计实习自我鉴定
2013/09/25 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
庆七一主持词
2015/06/29 职场文书
考试后的感想
2015/08/07 职场文书
初中英语教学反思范文
2016/02/15 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
SpringBoot集成Redis的思路详解
2021/10/16 Redis
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP
MySQL数据库之存储过程 procedure
2022/06/16 MySQL