密码的加密处理

密码处理

用户的密码通常不会直接以明文的形式保存到数据库中,而是会先经过处理,然后将处理之后得到的"密文"保存到数据库,这样能够降低数据库泄漏导致的用户账号安全问题。

密码通常会使用一些单向函数进行处理,如下图所示

常用于处理密码的单向函数(算法)有MD5、SHA-256等,Apache Commons提供了一个工具类DigestUtils,其中就包含上述算法的实现。

使用该工具类需引入commons-codec依赖,在common模块的pom.xml中增加如下内容

<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
</dependency>

使用:使用Apache的DigestUtils工具类

public Result saveOrUpdate(@RequestBody SystemUser systemUser) {
	if(StringUtils.hasLength(systemUser.getPassword())){
            //使用sha256的加密方式==》
            systemUser.setPassword(DigestUtils.sha256Hex(systemUser.getPassword()));
    }
     systemUserService.saveOrUpdate(systemUser);
     return Result.ok();
}
posted @ 2024-11-05 21:26  CH_song  阅读(22)  评论(0)    收藏  举报