1.保存时加密
RandomStringUtils是apache下面工具类
//sha256加密
String salt = RandomStringUtils.randomAlphanumeric(20);
user.setPassword(new Sha256Hash(user.getPassword(), salt).toHex());
user.setSalt(salt);
this.insert(user);
创建时随机生成盐(也就是随机数)
撒盐
撒盐前密码为123456
Sha256Hash是shiro包里工具类加密方法
public Sha256Hash(Object source, Object salt) {
super("SHA-256", source, salt);
}
2.获取时比较
//账号不存在、密码错误
if( !user.getPassword().equals(new Sha256Hash(form.getPassword(), user.getSalt()).toHex())) {
return R.error("密码不正确");
}