md5加密

1.说明

md5加密实现方式有很多,我们学习的是spring框架给我们写好的一个加密方法

  • md5加密是不可逆的: 可以通过明文推导出密文,无法通过密文推导明文
  •  相对比较安全的。
    

2.代码演示

// 给我一个明文密码,我返回给你一个密文密码
    public static String md5(String password){
        byte[] bytes = password.getBytes();
        String miwen= DigestUtils.md5DigestAsHex(bytes);
        return miwen;
    }

3.密文的加密与解密

如果你所在项目没有使用spring框架,我们也犯不着为了一个工具导入spring的jar包,可以去网络上找一个md5的源码类,写在项目中的utils包下。
md5是无法根据密文知道明文的,但是可以通过对撞的方式破解。
https://www.cmd5.com/ 可以进行在线的加密与解密。
通过穷举字符组合的方式,创建了明文密文对应查询数据库,创建的记录约90万亿条。
如果我们使用md5的话,最好使用比较复杂的字符串当做密码,不要使用简单的字符串进行密码设置。

4.增强加密

一般的加密方式会根据强大的数据库记录查询出明文,所以我们编写一个方法用于增强我们的加密的密文:

public static String md5Strong(String password){
        byte[] bytes = password.getBytes();
        String miwen= DigestUtils.md5DigestAsHex(bytes);
        //进行二次加密
        String str = miwen.substring(9,19);
        String salt = "laoyan";//盐
        miwen = DigestUtils.md5DigestAsHex((miwen+str+salt).getBytes());
        return miwen;
    }

md5加密

上一篇:Git篇(基础)


下一篇:Nginx服务器之负载均衡策略(6种)