zoukankan      html  css  js  c++  java
  • 加密

    加密分可以加密和不可逆加密

    jar包: commons-codec.jar
    MD5加密
    String md5 = DigestUtils.md5Hex("000000");
    System.out.println(md5);
    SHA1加密
    String sha1 = DigestUtils.shaHex("000000");
    System.out.println(sha1);
    这种方式适用于服务端加密,可以讲密码用密文存储
    密码加盐:
    盐值固定:一系列很难猜到的字符加到密码的前面和后面,这串盐值应该很难被破解掉,或者破解了需要付出很长的事件才可以。但是这种方式也不是绝对安全的,MD5加密依然是有风险的。
    盐值不固定:在密码的前后加上一串字符,这个字符是不定的,可以使用户的ID、注册日期等等,这种方法加密更难被破解。安全系数较高。
    虽然这种方式安全系数较高但是并不是说这种就是最安全的,当黑客获得了这个盐值生成的算法,那么加密和不加密就是一样的。


    JavaScript加密
    http://code.google.com/p/crypto-js/
    <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/sha1.js"></script>
    <script>
    varhash = CryptoJS.SHA1("Message");
    </script>
    <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/md5.js"></script>
    <script>
    varhash = CryptoJS.MD5("Message");
    </script>
    这种方式适用于客户端加密,在客户端点击了登录按钮的时候将密码加密,但是这种加密方式虽然在网络上不是明文传输,但是当用户获得了从客户端发送过来的经过加密的密文,经过彩虹表的对照还是可以获得用户的明文密码,并且当黑客以密文的形式将密码提交给对应的处理Post的接口,那么将依然对安全方面没有任何保障。
    为了保证更好的加密效果推荐使用Https来对登录和注册进行加密,也即是说在http层上建立一个SSL传输层,使得用户发送的数据在传输到网卡上的时候就是已经被加密过的了。但是这种方式加密的数据,服务器在收到相应的数据之后还得再继续解密,解密之后,获得用户请求的数据,服务器在响应用户请求之前,还要对用户请求的数据进行加密,这样会非常消耗服务器的硬件资源。这种方式会比普通的http协议多消耗30%的硬件资源。

  • 相关阅读:
    dubbo入门(一)
    java中文件操作《一》
    Unity 游戏框架搭建 2019 (七) 自定义快捷键
    凉鞋:我所理解的框架 【Unity 游戏框架搭建】
    Unity 游戏框架搭建 2019 (六) MenuItem 复用
    Unity 游戏框架搭建 2019 (五) 打开所在文件夹
    Unity 游戏框架搭建 2019 (四) 导出 UnityPackage
    Unity 游戏框架搭建 2019 (三) 生成文件名到剪切板
    Unity 游戏框架搭建 2019 (二) 文本复制到剪切板
    Unity 游戏框架搭建 2019 (一) 简介与第一个示例文件名的生成
  • 原文地址:https://www.cnblogs.com/shininguang/p/4923043.html
Copyright © 2011-2022 走看看