前言
在前面的章节中,我们实现了简易的注册和登录功能,其它功能,像验证码、限流等或许你稍微研究一下都能找到解决方案,但有一个点你可能不那么容易搞定,那就是注册登录密码如何安全传输?
可以肯定的是:密码一定需要加密,一定不能明文传输!但加密算法怎么选?密码又要怎么安全保存?
如果你没有一些项目经验,估计有点棘手,最后还会感觉不那么保险。难者不会, 会者不难!
基于此,我今天决定写一篇简短的博文,手把手教你在SpringBoot实战项目中解决密码传输和密码保存的问题!
最后看完本文,你也看看你们的项目是否安全传输密码,是否安全保存密码!
之前讲过的注册和登录接口相关博文:
登录接口:3-3. SpringBoot项目集成【用户身份认证】实战 【全流程篇】基于JWT+双重检查的登录+登出+拦截器

文章目录
一、回顾简易的注册登录的问题
回顾一下之前写的流程:
注册:前端:MD5(password),后端:存储前端传入的密码!
登录:前端:MD5(password),后端:将前端传入的密码,与数据库保存的密码做匹配,匹配成功则登录成功!
看出来问题了吗?
如果是内部系统,部署在内网上,大家都是合法调用,那应该会相安无事!
但如果是部署到互联网上,那随时可能面临恶意调用的风险,后端既没有对密码的有校性做校验,也没有对密码的合法性做验证,说白了,后端连密码的控制权都没有,黑客传个明文的123456你一点办法都没有!
二、必须做的
认识到问题就等于解决了一半!
-
第一,注册时的用户填密码绝对不可以直接明文传输到后端,前端必须加密,还必须支持让后端可以解密,
为什么?
本文手把手教你如何在SpringBoot项目中实现安全的密码传输和保存。通过RSA非对称加密确保前端密码安全传输,结合MD5加密保证密码在数据库中无法被还原,提升注册登录的安全性。详细介绍了从引入hutool工具包到Web层和Service层的配置实践。
订阅专栏 解锁全文
2万+





