【备战春招】第13天 使用Hash加盐对Password加密
2023/2/21 3:20:54
本文主要是介绍【备战春招】第13天 使用Hash加盐对Password加密,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称:SpringBoot2.X + Vue + UniAPP,全栈开发医疗小程序
课程章节:第三章 使用Vue3.0+SpringBoot实现医护人员管理
课程讲师: 神思者
课程内容:
医院管理人员想要管理医护信息,首先要登陆MIS系统。登陆MIS系统的密码必然要加密存储到数据库中。
一、熟悉数据表
mis_user
数据表是MIS系统的用户表,所有能登陆MIS系统的帐户都保存在这张表里面。首先要明确:不是医院所有的工作人员都能登陆MIS系统。例如医护人员可以登录MIS系统,但是保安就不需要用MIS系统,所以在mis_user
表中给需要使用MIS系统的用户创建帐户。
二、使用哈希算法对密码加密
1. 哈希加密
用户的密码需要加密之后再保存到数据库中,这里选择不可逆的哈希算法加密用户的密码。哈希算法有两种常见的实现方案:MD5和SHA。哪种安全性都挺高的,无法暴力破解。
2. 哈希字典反破解
虽然算法层面破解不了哈希算法,于是就有人另辟蹊径了。他把各种字符串文字都用哈希算法生成加密结果,俗称哈希字典。然后把要破解的哈希值,代入哈希字典,看看能跟哪个记录对得上,于是就得出原始数据是什么了。现在网上就有哈希字典可以下载,所以用哈希加密的结果很容被破解。
3. 多次哈希加密
为了防御哈希字典破解,可以对数据做多次哈希加密。比如说第一次用MD5加密,然后再用SHA加密。虽然这么做也能起到一定的防破解作用。
因为哈希值通常是16、32、64个字符组成,所以用哈希字典破解了SHA算法原始数据之后,黑客马上就能识别出来原始数据是用哈希加密过的,于是套用到哈希字典再解密一次。
4. 原始数据加盐混淆
如果我们混淆了原始数据,那么即便黑客破解了原始数据也无法使用。比如说我们对用户原始密码生成哈希值,用哈希值前六位和后三位字符,与原始密码拼接,然后再用哈希算法生成加密结果。即便黑客破解了原始数据,但是这个原始数据并不是用户的密码,黑客用这个混淆过的密码字符串是无法登陆系统的。
三、编写持久层代码
在MisUserDao.xml
文件中,声明用于登陆的SQL语句。
<select id="login" parameterType="Map" resultType="Integer">
SELECT "id"
FROM HOSPITAL.MIS_USER
WHERE "username" = #{username}
AND "password" = #{password}
</select>
在com.example.hospital.api.db.dao
包MisUserDao
接口中,声明DAO方法。
public interface MisUserDao {
……
public Integer login(Map param);
}
课程收获:通过视频加文档结合的方式,了解了Hash加盐对Password加密,期待后续学习!
这篇关于【备战春招】第13天 使用Hash加盐对Password加密的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API