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);
     
     
     
     
     
     
     
     
     
     
     
    加密
  • 相关阅读:
    JS——switch case
    JS——“==”与“===”
    C#——枚举格式转换与比较
    XML——读与写
    SQl基本操作——try catch
    JS——indexOf replace search
    C#——数据库的访问
    SQL基本操作——存储过程
    C#——设置开机启动
    C#——计时器的操作
  • 原文地址:https://www.cnblogs.com/maxiag/p/13526579.html
Copyright © 2011-2022 走看看