当前位置: 首页 > news >正文

东营有什么网站建设公司青海城乡建设厅网站 官网

东营有什么网站建设公司,青海城乡建设厅网站 官网,最新领导班子7人名单,网站建设和优化的好处BCrypt是一种密码哈希函数,BCrypt算法使用“盐”来加密密码,这是一种随机生成的字符串,可以在密码加密过程中使用,以确保每次加密结果都不同。盐的使用增强了安全性,因为攻击者需要花费更多的时间来破解密码。 下图为…

BCrypt是一种密码哈希函数,BCrypt算法使用“盐”来加密密码,这是一种随机生成的字符串,可以在密码加密过程中使用,以确保每次加密结果都不同。盐的使用增强了安全性,因为攻击者需要花费更多的时间来破解密码。

下图为使用BCrypt算法后的的密码结果值:

70b2c1ed8bbe45888cc23c1e2443bcfe.png

下面讲一下注册登陆场景中如何使用BCrypt算法的。

首先,确保项目中包含了Spring Security Crypto的依赖,可以在pom.xml文件中添加Spring Security的依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>

Spring Security是一个广泛使用的身份验证和授权框架,而Spring Security Crypto是其中的一个模块,专门用于提供加密和安全相关的功能,提供对称加密(如AES和RSA)、密钥生成和密码编码等功能。这个模块作为核心模块的一部分,但不依赖于任何其他Spring Security或Spring代码。

在Spring Security Crypto中,你可以使用BCryptPasswordEncoder类来进行BCrypt加密、验密。

7c905016a2ee4f0380257d4a0c8938e9.png

可以写一个工具类来存放权限相关的操作,以便后续扩展。


/*** 权限获取工具类*/
public class SecurityUtils {/*** 生成BCryptPasswordEncoder密码** @param password 密码* @return 加密字符串*/public static String encryptPassword(String password) {BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();return passwordEncoder.encode(password);}/*** 判断密码是否相同** @param rawPassword     真实密码* @param encodedPassword 加密后字符* @return 结果*/public static boolean matchesPassword(String rawPassword, String encodedPassword) {BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();return passwordEncoder.matches(rawPassword, encodedPassword);}
}

注册时,直接调用工具类SecurityUtils来加密密码

/*** 注册*/
public void register(RegisterBody param) {// 注册用户信息User user = new User();user.setUserName(param.getUsername());user.setPassword(SecurityUtils.encryptPassword(param.getPassword()));// 入库
}

登陆时,直接调用SecurityUtils来验密

/*** 登录*/
public User login(LoginBody form) {String username = form.getUsername();// 前端密码RSA加密,这里需要调用自定义工具类RSAUtil.decodeValue方法解密String password = RSAUtil.decodeValue(form.getPassword());// 查询用户信息User user = remoteUserService.getUserInfo(username);// 验密if (!SecurityUtils.matchesPassword(password, user.getPassword())) {// 更新用户密码错误次数以及密码错误锁定时间} else {// 登录成功清空密码登录错误次数}

http://www.yayakq.cn/news/240769/

相关文章:

  • 网站架构设计的意义域名查询138
  • 网站怎么做seo、运动鞋子网站建设规划书
  • 专业网页设计和网站制作公司厦门网站设计推广公司
  • 免费建造网站wordpress百家号主题
  • 网站开发工程师应聘书700字网站常用的字体
  • 建设网站花费郴州
  • 网站开发安装广告平台源码
  • 软文网站备案如何查询seo策略主要包括
  • 外贸建站及推广小程序登录注册
  • 中国物流网站做网站一般用什么语言
  • 大型企业网站金华网站建设微信开发
  • 低面效果在哪个网站做asp.net做网站Dreamver
  • dw网站管理与建设国外ip代理
  • 酷炫flash网站中国大工程建设需要什么样的人才
  • 未央区建设局网站营销咨询公司收费标准
  • 全国企业公示信息系统查询站内关键词自然排名优化
  • div使用太多影响网站收录二次开发公司
  • 什么网站可以做报名系统免费做logo的网站
  • 怎样创建个人的网站百度智能云
  • 泉州品牌网站设计定制贵阳seo排名
  • 广州专业网站建设有哪些title 网站建设
  • 辖网站建设小型手机网站建设哪家好
  • 做电影网站需要服务器吗在网站上卖东西怎么做
  • 萧山区网站建设湛江论坛
  • 做数学题好的网站网站备案如何取消接入
  • 苏州高端建站公司WordPress会话有效时间
  • 系统网站建设ppt模板专业网页制作编辑工具
  • 免费建立个人网站苏州优化网站
  • 自然堂网站建设策划书视频网站建站免费
  • 关于互联网的网站网站怎样做全国地区推广