密码加盐,多重加密

该博客讨论了为了提高用户密码安全性,采用两次MD5加密的方法,详细阐述了用户注册和登录验证的逻辑过程,以及如何在前端和后端分别进行密码的组合和加密操作。通过这种方式,即使密码被反编译,也能有效保护用户数据的安全。
摘要由CSDN通过智能技术生成

用户密码两次MD5加密:

原因:一次MD5加密,很容易被反编译破解出来,通过前台进行一次MD5加密和后台一次MD5加密,可以有效保证数据的安全性
用户注册逻辑:
  1. 前台获取用户输入的密码(inputPassword),通过固定的salt(盐)例如:String salt=1234abc,通过一定顺序进行组合例如:salt.charAt(1)+salt.charAt(3)+inputPassword+salt.charAt(5)+salt.charAt(6),然后通过前台MD5插件,对组合密码进行加密
  2. 后台获取前台的密码数据(已经加密过一次的fromPassword),后台字母+数字随机生成salt(盐),通过一定顺序进行组合(原理同前台组合加密),然后把组合后的密码通过MD5加密,同时保存经过两次加密的MD5密码和后台随机生成的salt(字母+数字)
用户登录验证逻辑:

如果是用户登录验证,前台获取用户输入的用户名和密码,通过前台固定的salt(盐),通过顺序进行组合使用MD5加密,生成inputPassword和Username并传递给后台,后台获取经过一次加密的inputPassword和userName,通过UserName查询db中用户数据(用户名,密码(dbPassword),salt(随机生成的)),通过db中的salt(盐)+前台传递的inputPassword进行组合使用MD5进行二次加密,和数据库中dbPassword进行equals比较,如果相同则登录成功…

示例:

/**
	 * shiro 权限注解 value可以多值通过","分开,logical表示权限是并且和或的关系
	 *
	 * @return
	 */
	@RequiresPermissions(value = { 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值