Shiro快速入门 —— 8.加密

其实shiro的加密算法还是比较局限的。我们公司就是使用的自己配置的算法。

这里简单的说一下shiro最常用的加密方式,当然还有其他的算法,还是推荐看看开涛的博客。

//密码加密(SHA256算法)
String salt = "c1bac4173f3df3bf0241432a45ac3922";//密言一般由系统为每个用户随机生成
String sha256 = new Sha256Hash(password, salt).toString(); //使用sha256进行加密密码
//验证密码是否正确
if(!sha256.equals("aa07342954e1ca7170257e74515139cc27710ff703e6fee784d0a4ea1e09f9da")){
    throw new IncorrectCredentialsException();//密码错误异常
}

使用SHA256算法的意义

系统的用户密码采用SHA256加密存储,即服务器上存储的只是由用户密码生成的识别码,而用户密码本身并没有存储在服务器上。用户输入登陆口令时,系统会根据输入口令和密言(salt)生成相应识别码并与系统中所存储的识别码进行比较,如二者一致,则认为口令正确。系统中没有存储用户原始的口令值,即使有人获得口令文件,也无法破解用户登陆密码,确保用户密码绝对安全。

上一篇:js-sha256源码


下一篇:docker文件系统-镜像篇