首页 > 其他分享 >密码的加密处理

密码的加密处理

时间:2024-11-05 21:20:29浏览次数:1  
标签:systemUser 加密 处理 commons 密码 codec DigestUtils

密码处理

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

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

常用于处理密码的单向函数(算法)有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();
}

标签:systemUser,加密,处理,commons,密码,codec,DigestUtils
From: https://www.cnblogs.com/21CHS/p/18528883

相关文章

  • # JSON字符串处理 ##
    JSON字符串处理jacksonJackson是一个用于处理JSON数据的Java库,它提供了将Java对象转换为JSON格式和将JSON格式转换为Java对象的功能。添加依赖:如果你使用Maven,可以在pom.xml中添加以下依赖:<dependency><groupId>com.fasterxml.jackson.core</groupId><artif......
  • Go 语言中遇到 _func not exported by package_ 错误,应该如何处理?
    在使用Go语言进行开发时,开发者常常会遇到许多错误提示,其中“funcnotexportedbypackage”是一个常见的错误。这种错误通常出现在尝试调用一个未导出的函数时,导致编译失败。理解这一错误的根本原因并能够解决它,对于提高开发效率非常重要。我们需要理解Go语言中“导出”和“......
  • opencv保姆级讲解——图像预处理(3)
    图像滤波所为图像滤波通过滤波器得到另一个图像什么是滤波器在深度学习中,滤波器又称为卷积核,滤波的过程成为卷积卷积核概念卷积核大小,一般为奇数,如3*35*57*7为什么卷积核大小是奇数?原因是:保证锚点在中间,防止位置发生偏移的原因卷积核大小的影响在深度学习中,卷积......
  • 华为2288HV2服务器安装BCLinux8U6无法显示完整安装界面的问题处理
    本文记录了华为2288HV2服务器安装BCLinux8U6无法显示完整安装界面,在安装过程中配置选择时,右侧安装按钮不可见,导致安装无法继续的问题处理过程。一、问题现象 华为2288HV2服务器安装BCLinux8U6时无法显示完整的安装界面,问题情况如下: 无法显示右侧的开始安装按钮。二、问题......
  • PCIe系列专题之二:2.2 TLP事务处理方式解析
    一、故事前传之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:1.PCIe技术概述;2.0PCIe......
  • C++——输入一个字符串,内有数字和非数字字符,如a123x456_ 17960?302tab5876将其中连续
    没注释的源代码#include<iostream>#include<stdio.h>usingnamespacestd;intmain(){  charstr[50],*pstr;  inti,j,k,m,e10,digit,ndigit,a[10],*pa;  cout<<"pleaseinputstring:"<<endl;  gets(str);  pstr=&str[......
  • 前端开发之jsencrypt加密解密的使用方法和使用示
    1、安装组件npminstalljsencrypt--dev2、创建加密解密的方法文件3、文件内容importJSEncryptfrom'jsencrypt'//去密钥生成网址去生成公钥和密钥http://tools.jb51.net/password/rsa_encodeconstpublicKey='生成的公钥'//前端不建议存放私钥不建议解密数据因......
  • 使用 axios 拦截器实现请求和响应的统一处理(附常见面试题)
    在现代前端开发中,我们经常需要向服务器发送HTTP请求,并根据响应内容做不同的处理。axios是一个流行的HTTP库,提供了拦截器功能,可以在请求和响应阶段插入自定义逻辑,这使得我们在处理认证、错误提示等场景时更为简洁、统一。本文将讲解如何利用axios的请求拦截器和响应拦......
  • H5登录界面输入账号密码,在ios苹果微信手机上输入框上下闪烁问题
    场景描述:H5登录界面输入账号密码,在ios苹果微信手机上输入框上下闪烁问题苹果手机的浏览器就有了自动填充密码的功能,具体来说就是一个手机号密码登录的页面,ios识别到当前页面有密码输入框,所以触发了自动填充密码的功能。解决办法:在2个输入框中间加个隐藏输入框核心代码:<inpu......
  • 让金融数据处理更精准-C#银行回单识别集成示例、回执单识别
    银行回单识别接口是一种基于人工智能和光学字符识别(OCR)技术的解决方案,能够自动识别和提取银行回单中的关键信息。通过这项技术,用户可以对回单文字内容进行提取,系统便能快速准确地识别回单上的交易金额、时间、银行名称、账户信息等各类重要数据,并将其转化为可结构化的数字信息......