上海行业门户网站建设工具广州十大纯设计公司

张小明 2025/12/27 19:47:08
上海行业门户网站建设工具,广州十大纯设计公司,网络推广员的前景,西安自动seo目录 引言加密/加盐加密的必要性密码算法分类1. 对称加密算法2. 非对称加密算法3. 摘要算法 加密思路MD5可加密原理#xff1a;加盐 运用加密/加盐写加密/解密⼯具类运用实战 引言 在 Java Spring 后端开发中#xff0c;“安全” 永远是绕不开的话题#xff0c;用户登录如何…目录引言加密/加盐加密的必要性密码算法分类1. 对称加密算法2. 非对称加密算法3. 摘要算法加密思路MD5可加密原理加盐运用加密/加盐写加密/解密⼯具类运用实战引言在 Java Spring 后端开发中“安全”永远是绕不开的话题用户登录如何免 Session 认证用户密码如何防止泄露我们通过上篇令牌技术下篇加盐/加密这两个核心技术,来聊聊关于如何让后端的认证体系更安全、更可靠加密/加盐加密的必要性在 MySQL 数据库的日常使用过程中用户密码、身份证号码、手机号码这类敏感数据的加密处理至关重要这是保障数据安全的核心环节倘若直接以明文形式存储这些信息一旦数据库遭遇黑客攻击并被非法侵入攻击者就能轻易窃取到用户的各类敏感信息。这种情况的发生不仅会导致用户个人信息泄露还可能给用户自身或所属企业带来财产方面的损失造成难以估量的后果密码算法分类密码算法主要分为三类:对称密码算法,⾮对称密码算法,摘要算法1. 对称加密算法核心特性加密、解密使用同一密钥运算速度快、效率高。子类型分组密码算法将数据分割为固定长度的块进行加密如 AES、DES。流密码算法逐字节生成密钥流与明文逐位加密如 ChaCha。适用场景大数据量加密如文件、数据库字段需注意密钥安全管理。2. 非对称加密算法核心特性使用公钥 私钥的密钥对公钥可公开、私钥需保密公钥加密的数据仅能通过对应私钥解密反之亦然。优势解决了对称加密的 “密钥分发” 问题支持数字签名私钥签名、公钥验证。不足加解密速度远慢于对称加密。适用场景小数据加密如密钥交换、数字签名典型算法如 RSA、ECC。3. 摘要算法核心特性单向哈希运算将任意长度数据转换为固定长度的 “摘要值”无法从摘要反推原文数据微小变化会导致摘要完全不同。子类型MDMessage Digest消息摘要算法如 MD5。SHA-1Secure Hash Algorithm安全散列算法。MACMessage Authentication Code消息认证码算法。适用场景数据完整性验证、密码存储存摘要而非明文、数字签名组件。加密思路本篇文字主要以MD5算法来讲解加密MD5可加密原理加盐MD5本身是不可逆的加上相同的密码经过MD5哈希之后的密⽂是相同的就很有可能被破解但是我们可以采⽤为⼀个密码拼接⼀个随机字符来进⾏加密这个随机字符我们称之为“盐”这样子即使黑客拿到数据库的数据也是加密后字符串和盐的组合的字符串密⽂相同,盐值相同,则证明 明⽂相同运用加密/加盐写加密/解密⼯具类publicclassSecurityUtil{//加密//返回盐值md5(盐值明文)publicstaticStringencrypt(Stringpassword){StringsaltUUID.randomUUID().toString().replace(-,);StringsecurityPasswordDigestUtils.md5DigestAsHex((saltpassword).getBytes(StandardCharsets.UTF_8));returnsaltsecurityPassword;}//解密publicstaticbooleanverify(StringinputPassword,StringsqlPassword){if(!StringUtils.hasLength(inputPassword)){returnfalse;}if(sqlPasswordnull||sqlPassword.length()!64){returnfalse;}StringsaltsqlPassword.substring(0,32);StringsecurityPasswordDigestUtils.md5DigestAsHex((saltinputPassword).getBytes(StandardCharsets.UTF_8));returnsqlPassword.equals(saltsecurityPassword);}}工具解析使用加密/解密⼯具类简单测试publicstaticvoidmain(String[]args){Stringencryptencrypt(123456);booleanverifyverify(123456,encrypt);System.out.println(verify);}测试结果运用实战创建响应和请求实体类DatapublicclassUserLoginRequest{NotNull(message用户名不能为空)privateStringuserName;NotNull(message密码不能为空)privateStringpassword;}DataAllArgsConstructorpublicclassUserLoginResponse{privateIntegeruserId;privateStringtoken;}UserLoginResponse 接口类RequestMapping(/login)publicUserLoginResponselogin(RequestBodyValidatedUserLoginRequestuserLoginRequest){log.info(用户登录,用户名:{},userLoginRequest.getUserName());returnuserService.checkPassword(userLoginRequest);}UserServiceImpl Serviece类ServicepublicclassUserServiceImplimplementsUserService{AutowiredprivateUserInfoMapperuserInfoMapper;Resource(nameblogServiceImpl)privateBlogServiceblogService;OverridepublicUserLoginResponsecheckPassword(UserLoginRequestuserLoginRequest){QueryWrapperUserInfoqueryWrappernewQueryWrapper();queryWrapper.lambda().eq(UserInfo::getUserName,userLoginRequest.getUserName()).eq(UserInfo::getDeleteFlag,0);UserInfouserInfouserInfoMapper.selectOne(queryWrapper);if(userInfonull){//用户不存在thrownewBlogException(用户不存在);}//判断密码是否一致if(!SecurityUtil.verify(userLoginRequest.getPassword(),userInfo.getPassword())){thrownewBlogException(用户密码错误);}//密码正确MapString,ObjectmapnewHashMap();map.put(id,userInfo.getId());map.put(name,userInfo.getUserName());StringtokenJwtUtils.genToken(map);returnnewUserLoginResponse(userInfo.getId(),token);}使⽤测试类给密码123456⽣成密⽂写到数据库测试当密码输入123456时可以登录当输入不为123456时提示密码输入错误加密成功
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

大型门户网站 代码厦门网络推广推荐

AI协作如何重塑智能餐饮:从传统痛点到未来蓝图的全面解析 【免费下载链接】crewAI CrewAI 是一个前沿框架,用于协调具有角色扮演能力的自主 AI 代理,通过促进协作智能,使代理能够无缝协作,共同解决复杂任务。 项目地…

张小明 2025/12/26 11:26:08 网站建设

天津市网站建设+网页制作京津冀协同发展心得体会2023

智慧树智能学习插件:打造你的专属网课学习管家 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树网课的手动操作烦恼吗?每天重复点击…

张小明 2025/12/26 11:25:00 网站建设

ps上怎么做网站轮播图网站建设岗位需要解决的问题

搭建 SharePoint 2016 家庭实验室:从硬件到软件的全面指南 在当今数字化时代,掌握 SharePoint 2016 等技术对于 IT 从业者和爱好者来说至关重要。本文将为你详细介绍搭建 SharePoint 2016 家庭实验室的硬件和软件要求,以及相关的操作步骤和注意事项。 1. 开启学习之旅 无…

张小明 2025/12/26 11:24:27 网站建设

文明网站建设培训体会一般网站 要 加入 友情链接吗

音频分离技术革命:三大AI引擎如何彻底改变音乐制作体验 【免费下载链接】ultimatevocalremovergui 使用深度神经网络的声音消除器的图形用户界面。 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui 你是否曾经想要从一首热门歌曲…

张小明 2025/12/26 11:23:53 网站建设

免费域名申请网站空间旅游网站建设研究综述

真实体验分享,帮你找到最适合自己的PPT效率工具 大家好,我是小林,一个经常需要做各种汇报的普通职场人。和很多人一样,我曾经也是“PPT困难户”——每次要做PPT就头疼,从找模板到排版设计,从整理内容到制作…

张小明 2025/12/26 11:23:20 网站建设