前端常用加密手段

最简单的加密
函数escape()和unescape();
var str = '你好'
var str1 = escape(str)
console.log(str1); // %u4F60%u597D
console.log(unescape(str1)); // 你好
 
使用MD5加密
// 首先要导入md5 
  <script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js"></script>
// 使用 
 var v1= md5('{"name":"嘻嘻嘻嘻嘻嘻嘻嘻嘻","age":22}'); 
   console.log(v1);//56b21847ed32d2d96cf74077b22342eb
   var v2= md5('{"name":"嘻嘻嘻嘻嘻嘻嘻嘻嘻"}');
   console.log(v2);//80b36b8a15ece3158c4e30130d4d4453
 MD5不可逆的原因是由于它是一种散列函数(也叫哈希函数,哈希函数又称散列函数,杂凑函数,他是一个单向密码体制,即从明文到密文的不可逆映射,只有加密过程没有解密过程,哈希函数可以将任意长度的输入经过变化后得到固定长度的输出,这个固定长度的输出称为原消息的散列或消息映射。 理想的哈希函数可以针对不同的输入得到不同的输出,如果存在两个不同的消息得到了相同的哈希值,那我们称这是一个碰撞),使用的是hash算法,在计算过程中原文的部分信息是丢失了的。一个MD5理论上是可以对应多个原文的,因为MD5是有限多个而原文是无限多个的。
 
 
由此可见,过程不可逆。网上搜到的MD5解密网站都是成千上万的MD5原文与MD5数据,放到了数据库里。所谓的解密就是从数据库里查询有没有原文。(可以自己生成一个复杂一些的MD5密文去解密网站试一下...是无法解密的)
 
通过MD5加密可以用来存密码到数据库中,又不会被破解。
 
 
 btoa()加密和atob()解密方法
var str = {name: 'admin'};
var enc = window.btoa(str.name);
console.log(enc);
var dec = window.atob(enc);
console.log(dec);
 
 
 
 
 
 
 
 
 
 
 
加密
原文地址:https://www.cnblogs.com/maxiag/p/13526579.html