基础:将字符产生出一个128位的散列值,不可你像得出字符,但可以从彩虹表中查询出结果。
彩虹表 :一个用于 加密散列函数 逆运算的预先计算好的 表 ,常用于破解加密过的密码散列。. 彩虹表常常用于破解长度固定且包含的字符范围固定的密码。
进阶加密:加盐加密,将原字符增加字符串后再进行加密处理。
Md5Crypt.md5Crypt("123456".getBytes(),"$1$qqq");
加盐后进行比对
BCryPasswordEncoder passwordEncoder=new BCryptPasswordEncoder();
String encode=passwordEncoder.encode("密码");
boolean matches= passwordEncoder.matches("密码","md5加盐后加密字段");