zoukankan      html  css  js  c++  java
  • js实现加密(?!)

    <script src="yourUrl/md5.min.js"></script>  
    或者:  
    <script src="http://cdn.bootcss.com/blueimp-md5/1.1.0/js/md5.js"></script>  
       
    <script src="http://cdn.bootcss.com/blueimp-md5/1.1.0/js/md5.min.js"></script>  
    

      md5加密:var hash = md5("value");  // "2063c1608d6e0baf80249c42e2be5804"  

    1. base64加密
    var b = new Base64();           
    var str = b.encode("admin:admin");           
    alert("base64 encode:" + str);        
    //解密        
    str = b.decode(str);           
    alert("base64 decode:" + str);

          2.md5加密

    var hash = hex_md5("123dafd");
    alert(hash)

          3.sha1加密(据说最安全)

    var sha = hex_sha1('mima123465')
    alert(sha) 

    密码在前端加密完全没有意义,前端系统的控制权是完全在用户手里的。

    前端加密是有好处的。
    我们就讨论前端 hash 的好处。

    前端加密可以:
    (1)避免明文密码在传输中被获取
    (2)保证后端日志等不会记录明文密码(也可以防止内鬼盗窃)
    (3)保证后端内存中无用户明文密码,在 dump 等情况发生时不会出现泄露问题

    我们再说一下成本问题:
    (1)前端加密在不影响后端性能的情况下满足对用户密码的保护
    (2)前端执行一个散列运算对前端来说真心不是事,密码这么短,不会影响性能
    (3)与 HTTPS 的流程相比,在前端散列一下几乎不影响网站响应速度和用户体验

    最后,我们来说一下误区:
    (1)前端散列不意味着后端可以减少安全工作量,前端散列一般会采用较为“低功耗”的弱加密实现,而不会使用 RSA 等方法(有人使用短密钥的 RSA 依然是不安全的)。
    (2)前端加密不可以防范中间人攻击,中间人依然可以实施重放攻击
  • 相关阅读:
    U盘为什么还有剩余空间,但却提示说空间不够
    U盘安装系统
    win8 64位+Oracle 11g 64位下使用PL/SQL Developer 的解决办法
    Oracle 去掉重复字符串
    ORACLE获取字符串中数字部分
    MyBatis中的大于、小于、like等符号写法
    Oracle计算时间差函数
    HDU 3569 Imaginary Date 简单期望
    C语言之——文件操作模式
    LeetCode OJ 之 Ugly Number II (丑数-二)
  • 原文地址:https://www.cnblogs.com/cosyer/p/6291360.html
Copyright © 2011-2022 走看看