知识点:
用户的密码通常不会直接以明文的形式保存到数据库中,而是会先经过处理,然后将处理之后得到的"密文"保存到数据库,这样能够降低数据库泄漏导致的用户账号安全问题。
密码通常会使用一些单向函数进行处理,如下图所示
常用于处理密码的单向函数(算法)有MD5、SHA-256等,Apache Commons提供了一个工具类DigestUtils
,其中就包含上述算法的实现。
Apache Commons是Apache软件基金会下的一个项目,其致力于提供可重用的开源软件,其中包含了很多易于使用的现成工具。
使用该工具类需引入commons-codec
依赖,在common模块的pom.xml中增加如下内容
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
String password = DigestUtils.md5Hex(systemUser.getPassword());
DigestUtils.md5Hex()
方法返回的是字符串,DigestUtils.md5()
方法返回的是字节数组
推荐阅读:
easy-captcha验证码图片生成器
ThreadLocal工具类,线程本地变量
JAVA-JWT
本地线程存储工具类AuthContextHolder
Drools配置类
bigDecimal精度计算工具类
行动消除疑虑