用js加密你的重要信息
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字符串加密 by 林自爽 - 2016/09/12</title>
</head>
<body>
</body>
<script>
// 字符串加密 by 林自爽 - 2016/09/12
var x = [
{'desc':'管理','info':'lin'},
...
{'desc':'iphone锁屏','info':'19'}
];
showData('你原来的内容:',x);
//编码
var arr = unicodeArr(x);
showData('你加密后的内容:',arr);
//转码
var str = stringArr(arr);
showData('你解密后的内容:',str);
// 显示数据
function showData(desc,arr){
var _html = '<div>'+desc+'</div>';
for(var i in arr){
_html += '<div>desc:'+arr[i].desc+',info:'+arr[i].info+'<div>'
}
document.write(_html);
}
// 将字符串数组转成unicode编码的数组
function unicodeArr(arr){
var _data = [];
for(var i in arr){
var desc = getUnicode(arr[i].desc);
var info = getUnicode(arr[i].info);
_data[i] = {
'desc':desc,
'info':info
};
}
return _data;
}
// 将unicode编码的数组转成字符串数组
function stringArr(arr){
var _data = [];
for(var i in arr){
var desc = getStringForUnicode(arr[i].desc);
var info = getStringForUnicode(arr[i].info);
_data[i] = {
'desc':desc,
'info':info
};
}
return _data;
}
//单元方法 字符串转unicode
function getUnicode(str){
var arr = [];
for(var i in str){
arr.push(encrypt(str.charCodeAt(i)));
}
return arr;
}
//单元方法 unicode转字符串
function getStringForUnicode(arr){
var str = '';
for(var i in arr){
str += String.fromCharCode(decrypt(arr[i]));
}
return str;
}
// 加密
function encrypt(num){
num += 10086;
return num;
}
// 解密
function decrypt(num){
num -= 10086;
return num;
}
</script>
</html>
源头是这样的,我把我所有的账号密码都写在了一个文件中,本来是可以用压缩到zip中,然后设个超过20位的密码,再去md5一下,保存这个md5的字符。
但是觉得上面的方法太麻烦了,我需要一个直接在web就能执行,我只要记住几个数字的。
于是,我将账号密码扔到了一个数组中,数组上都是对象。
那怎么加密呢,首先charCodeAt()是可以将任意字符转成unicode编码的,String.fromCharCode()可以将unicode转成字符串。
charCodeAt()转的unicode是数字,既然是数字,那我任意让这个数字+-*/某一个数不就可以咯,解码的时候就反向解回来。
于是就有了以下的代码
为了避免信息泄露我已经将我的数组随便删除了一部分数据。
用js加密你的重要信息的更多相关文章
- 昆仑游戏[JS加密修改]
昆仑游戏:http://www.kunlun.com/index.html JS加密修改 BigTools=window.BigTools;//重点 RSAKeyPair=window.RSAKeyP ...
- web主题公园版权信息破解:script.js加密文件
很多人会使用web主题公园网站的免费worldpress主题,但它的主题又都被加了版权信息,故意让人找不到版权信息的修改位置. 你如果去footer.php里面删除版权信息(技术支持:web主题公园) ...
- js加密的密文让PHP解密(AES算法)
JS加密代码如下 <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/aes ...
- RSA加密前端JS加密,后端asp.net解密,报异常
RSA加密前端JS加密,后端asp.net解密,报异常 参考引用:http://www.ohdave.com/rsa/的JS加密库 前端JS加密代码: function GetChangeStr() ...
- RSA前台js加密,后台C#解密
一.需求: 为了安全,项目中前台登陆用的密码需要加密传到后台,后台c#解密登陆密码. 二.解决方案 采用非对称加密算法RSA来达到目的,前台登陆页面一加载便发送一次ajax请求获取后台产生的公钥,用于 ...
- 【不怕坑】之 Node.js加密 C#解密
本人也不太了解AES加密解密,为了解决Node.js加密,但是无法C#解密的问题,在网上搜了大量的相关文章. 但是多数是Node.js vs Java 或 Java vs C#的双向加密解密代码,但是 ...
- JS分段上传文件(File)并使用MD5.js加密文件段用来后台校验
HTML <form method="POST" name="form1" action="/mupload/upload/" enc ...
- NodeJS 实现 客户端 js 加密
NodeJS 实现 客户端 js 加密 思路: 服务端渲染业务代码js => 前后端约定加密算法 => 业务代码进行签名 => 客户端解密业务代码 => eval 执行 Nod ...
- AES加密解密——AES在JavaWeb项目中前台JS加密,后台Java解密的使用
一:前言 在软件开发中,经常要对数据进行传输,数据在传输的过程中可能被拦截,被监听,所以在传输数据的时候使用数据的原始内容进行传输的话,安全隐患是非常大的.因此就要对需要传输的数据进行在客户端进行加密 ...
随机推荐
- C Primer Plus_第10章_数组和指针_编程练习
1. /*rain.c 针对若干年的降水量数据,计算年降水总量.年降水平均量,以及月降水平均量*/ #include <stdio.h> #define MONTHS 12 #define ...
- C#中将DataTable转成List
学习MVC的时候,使用List<T>来存储数据给前台,但是从数据库中直接读取得到的是DataTable,虽然可以直接循环DataTable来得到list,但是如果每个实体类都通过这样的得到 ...
- 浅谈Javascript事件模拟
事件是用来描述网页中某一特定有趣时刻的,众所周知事件通常是在由用户和浏览器进行交互时触发,其实不然,通过Javascript可以在任何时间触发特定的事件,并且这些事件与浏览器创建的事件是相同的.这就意 ...
- Java集合框架实现自定义排序
Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优 ...
- 在SQL SERVER中实现RSA加解密函数(第二版)
/*************************************************** 作者:herowang(让你望见影子的墙) 日期:2010.1.5 注: 转载请保留此信息 更 ...
- python 函数传递方式
在python中方法传递的参数到底是值传递还是引用传递? 1. 首先需要知道python中变量的类型:Python的变量分为可变变量和不可变变量. 针对于不可变的类型比如string int def ...
- TMS 例子63 分组,子node
procedure TForm1.InitGrid; begin advstringgrid1.Grouping.MergeHeader := true; //这个什么作用没有是 advstringg ...
- C# 退出程序
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消息中 ...
- zookeeper心跳机制流程梳理
zookeeper心跳机制流程梳理 Processor链Chain protected void setupRequestProcessors() { RequestProcessor finalPr ...
- PHP+Mysql+easyui点击左侧tree菜单对应表名右侧动态生成datagrid加载表单数据(二)
关于tree菜单生成,参考我的另一篇博文地址tree 菜单 实现功能:点击左侧tree菜单中的table,右侧通过datagrid加载出该表对用的所有数据 难点:获取该表的所有列名,动态生成datag ...