在项目前期开发阶段,密码采用明码存储。但是一旦程序部署在生产环境,明码存储密码是非常不安全的,必须对密码进行加密运算。
加密主要分为两种:可逆运算和不可逆运算
1、可逆运算是通过一个秘钥,对一段字符串加密,同样可以通过这个秘钥进行解密运算
2、不可逆运算的加密对一段字符串进行加密,但是不能还原成原来的字符串(散列)
这里说到的密码加密:shiro框架提供的MD5加密,不可逆运算
使用截图:
本例中APi为
Md5Hash(Object source,Object salt,int hashIterations)
参数1:加密目标
参数2:加密时,添加复杂度的意思(个人理解)
参数3:加密hash次数,一般2次即可。