zoukankan      html  css  js  c++  java
  • 前端常用加密手段

    最简单的加密
    函数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);
     
     
     
     
     
     
     
     
     
     
     
    加密
  • 相关阅读:
    java处理图片--图片的缩放,旋转和马赛克化
    Node.JS + MongoDB技术浅谈
    nodejs版本更新问题:express不是内部或外部命令
    解决mongodb的安装mongod命令不是内部或外部命令
    MongoDB Windows环境安装及配置
    WebStorm主题设置
    分页插件PageHelper
    Dubbo入门
    JVM组成
    java 多线程例子
  • 原文地址:https://www.cnblogs.com/maxiag/p/13526579.html
Copyright © 2011-2022 走看看