1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>字符串加密 by 林自爽 - 2016/09/12</title>
  6. </head>
  7. <body>
  8. </body>
  9. <script>
  10. // 字符串加密 by 林自爽 - 2016/09/12
  11. var x = [
  12. {'desc':'管理','info':'lin'},
  13.     ...
  14. {'desc':'iphone锁屏','info':'19'}
  15. ];
  16.  
  17. showData('你原来的内容:',x);
  18. //编码
  19. var arr = unicodeArr(x);
  20. showData('你加密后的内容:',arr);
  21. //转码
  22. var str = stringArr(arr);
  23. showData('你解密后的内容:',str);
  24.  
  25. // 显示数据
  26. function showData(desc,arr){
  27. var _html = '<div>'+desc+'</div>';
  28. for(var i in arr){
  29. _html += '<div>desc:'+arr[i].desc+',info:'+arr[i].info+'<div>'
  30. }
  31. document.write(_html);
  32. }
  33.  
  34. // 将字符串数组转成unicode编码的数组
  35. function unicodeArr(arr){
  36. var _data = [];
  37. for(var i in arr){
  38. var desc = getUnicode(arr[i].desc);
  39. var info = getUnicode(arr[i].info);
  40. _data[i] = {
  41. 'desc':desc,
  42. 'info':info
  43. };
  44. }
  45. return _data;
  46. }
  47.  
  48. // 将unicode编码的数组转成字符串数组
  49. function stringArr(arr){
  50. var _data = [];
  51. for(var i in arr){
  52. var desc = getStringForUnicode(arr[i].desc);
  53. var info = getStringForUnicode(arr[i].info);
  54. _data[i] = {
  55. 'desc':desc,
  56. 'info':info
  57. };
  58. }
  59. return _data;
  60. }
  61.  
  62. //单元方法 字符串转unicode
  63. function getUnicode(str){
  64. var arr = [];
  65. for(var i in str){
  66. arr.push(encrypt(str.charCodeAt(i)));
  67. }
  68. return arr;
  69. }
  70.  
  71. //单元方法 unicode转字符串
  72. function getStringForUnicode(arr){
  73. var str = '';
  74. for(var i in arr){
  75. str += String.fromCharCode(decrypt(arr[i]));
  76. }
  77. return str;
  78. }
  79.  
  80. // 加密
  81. function encrypt(num){
  82. num += 10086;
  83. return num;
  84. }
  85.  
  86. // 解密
  87. function decrypt(num){
  88. num -= 10086;
  89. return num;
  90. }
  91. </script>
  92. </html>

源头是这样的,我把我所有的账号密码都写在了一个文件中,本来是可以用压缩到zip中,然后设个超过20位的密码,再去md5一下,保存这个md5的字符。

但是觉得上面的方法太麻烦了,我需要一个直接在web就能执行,我只要记住几个数字的。

于是,我将账号密码扔到了一个数组中,数组上都是对象。

那怎么加密呢,首先charCodeAt()是可以将任意字符转成unicode编码的,String.fromCharCode()可以将unicode转成字符串。

charCodeAt()转的unicode是数字,既然是数字,那我任意让这个数字+-*/某一个数不就可以咯,解码的时候就反向解回来。

于是就有了以下的代码

为了避免信息泄露我已经将我的数组随便删除了一部分数据。

  

用js加密你的重要信息的更多相关文章

  1. 昆仑游戏[JS加密修改]

    昆仑游戏:http://www.kunlun.com/index.html JS加密修改 BigTools=window.BigTools;//重点 RSAKeyPair=window.RSAKeyP ...

  2. web主题公园版权信息破解:script.js加密文件

    很多人会使用web主题公园网站的免费worldpress主题,但它的主题又都被加了版权信息,故意让人找不到版权信息的修改位置. 你如果去footer.php里面删除版权信息(技术支持:web主题公园) ...

  3. js加密的密文让PHP解密(AES算法)

      JS加密代码如下     <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/aes ...

  4. RSA加密前端JS加密,后端asp.net解密,报异常

    RSA加密前端JS加密,后端asp.net解密,报异常 参考引用:http://www.ohdave.com/rsa/的JS加密库 前端JS加密代码: function GetChangeStr() ...

  5. RSA前台js加密,后台C#解密

    一.需求: 为了安全,项目中前台登陆用的密码需要加密传到后台,后台c#解密登陆密码. 二.解决方案 采用非对称加密算法RSA来达到目的,前台登陆页面一加载便发送一次ajax请求获取后台产生的公钥,用于 ...

  6. 【不怕坑】之 Node.js加密 C#解密

    本人也不太了解AES加密解密,为了解决Node.js加密,但是无法C#解密的问题,在网上搜了大量的相关文章. 但是多数是Node.js vs Java 或 Java vs C#的双向加密解密代码,但是 ...

  7. JS分段上传文件(File)并使用MD5.js加密文件段用来后台校验

    HTML <form method="POST" name="form1" action="/mupload/upload/" enc ...

  8. NodeJS 实现 客户端 js 加密

    NodeJS 实现 客户端 js 加密 思路: 服务端渲染业务代码js => 前后端约定加密算法 => 业务代码进行签名 => 客户端解密业务代码 => eval 执行 Nod ...

  9. AES加密解密——AES在JavaWeb项目中前台JS加密,后台Java解密的使用

    一:前言 在软件开发中,经常要对数据进行传输,数据在传输的过程中可能被拦截,被监听,所以在传输数据的时候使用数据的原始内容进行传输的话,安全隐患是非常大的.因此就要对需要传输的数据进行在客户端进行加密 ...

随机推荐

  1. JMeter遇到的问题一:Error writing to server(转)

    Java.io.IOException: Error writing to server异常:我测试500个并发时,系统没有问题:可当我把线程数加到800时,就出现错误了,在"查看结果树&q ...

  2. java 数组中插入新的元素

    class Demo1 { public static void main(String[] args) { /* 5. 有如下歌曲数组 String[] musics = new String[]{ ...

  3. React学习笔记-3-非dom属性介绍

    非dom属性?dangerouslySetInnerHTML,ref,key非dom标准属性,也就是说dom标准里面没有规定的属性,react引入了三个非dom属性,如上.dangerouslySet ...

  4. 事务日志以及虚拟日志文件(VLFs)概述

    Part 1:事务日志 每个 SQL Server 数据库都具有事务日志,用于记录所有事务以及每个事务对数据库所做的修改.必须定期截断事务日志以避免它被填满.但是,一些因素可能延迟日志截断,因此监视日 ...

  5. Ubuntu菜鸟入门(一)—— 截图工具安装

    Ubuntu截图工具Shutter 1.添加安装包软件源 sudo add-apt-repository ppa:shutter/ppa 2.更新源并安装 shutter sudo apt-get u ...

  6. PPM格式解析

    PPM格式其实就是RGB数据加上一个简单的文件头, 文件头部表示了图像的宽度和高度以及最大的RGB值. 文件头+rgb数据: P6\n width height\n 255\n rgbrgb... 其 ...

  7. C#最简单例子

    using System; namespace ConsoleApplication1 { class People { int age; string name; public string get ...

  8. C# 的EF框架怎么连接Oracle数据库

    安装odp.net ODP.NET你不需要安装Oracle,不需要配置oracle.key文件,不需要配置TnsNames.Ora文件 不需要配置环境变量:完全的傻瓜式的在没有安装oracle数据库或 ...

  9. 每日一问:面试结束时面试官问"你有什么问题需要问我呢",该如何回答?

    面试结束时面试官问"你有什么问题需要问我呢",该如何回答?

  10. BZOJ4562: [Haoi2016]食物链

    Description 如图所示为某生态系统的食物网示意图,据图回答第1小题 现在给你n个物种和m条能量流动关系,求其中的食物链条数. 物种的名称为从1到n编号 M条能量流动关系形如 a1 b1 a2 ...