MD5加密

MD5加密算法
    又称-- 数据摘要算法、数据指纹算法
    ------------------------------------------------
    特点:
        ◇ 任意长度的二进制数, 经过MD5加密计算后, 都可以得到一个128位长的二进制密文


        ◇ 相同的原文经过加密后得到的密文永远相同


        ◇ 不同的原文经过加密后得到的密文永远不同
            
        ◇ 只能从原文加密成密文, 密文永远也解不回原文
        
        MD5加密算法在很多应用场景下都有所应用
    ------------------------------------------------
    MD5应用:
        1.创建MD5Utils工具类, 提供md5方法实现MD5加密功能
            /**
             * 使用md5的算法进行加密
             */
            public static String md5(String plainText) {
                byte[] secretBytes = null;
                try {
                    secretBytes = MessageDigest.getInstance("md5").digest(
                            plainText.getBytes());
                } catch (NoSuchAlgorithmException e) {
                    throw new RuntimeException("没有md5这个算法!");
                }
                String md5code = new BigInteger(1, secretBytes).toString(16);
                for (int i = 0; i < 32 - md5code.length(); i++) {
                    md5code = "0" + md5code;
                }
                return md5code;
            }
            
        2.在实现登陆功能时, 密码应该先加密再和数据库中的密码做比较
            password = MD5Utils.md5(password);

        3.在实现注册功能时, 密码应该先加密再存入数据库
            user.setPassword(MD5Utils.md5(password));
            service.registuser(user);
        
        4.实现自动登陆功能时, 在将用户名和密码保存进Cookie之前, 需要将密码加密后再保存进Cookie(步骤2已实现)

posted @ 2017-06-08 17:50  大大大圣  阅读(297)  评论(0编辑  收藏  举报