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

张小明 2026/1/10 18:38:46
上海行业门户网站建设工具,广州十大纯设计公司,网络推广员的前景,西安自动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进行投诉反馈,一经查实,立即删除!

河南第二建设集团网站视频谷歌浏览器下载安装2022

Windows 8 数据加密与恢复全攻略 1. 加密数据恢复的挑战与准备 在处理加密文件、文件夹和数据时,我们必须做好心理准备,因为一旦出现问题,可能无法恢复数据。所以,备份加密密钥至关重要。同时,要注意在某些情况下,数据在复制或移动后可能仍保持加密状态,或者无法加密。…

张小明 2026/1/4 22:36:39 网站建设

做家常菜的网站哪个好哪个编程在线教育好

目录 准备工作 实现步骤 1. 创建Simulink项目 2. 构建信号源 数据生成 3. 信号调制 4. 滤波与上变频 滤波 上变频 5. 连接到SDR硬件 6. 接收端设计 下变频与滤波 解调 7. 连接各模块并配置仿真参数 8. 运行仿真并测试 结论 软件定义无线电(Software…

张小明 2026/1/8 17:08:11 网站建设

短视频app推荐沈阳seo排名优化软件

蓝牙设备、驱动管理与数码照片导入全攻略 在现代科技生活中,蓝牙设备的连接、设备驱动的管理以及数码照片的导入与整理是常见的操作。下面将详细介绍这些方面的相关知识和操作步骤。 蓝牙设备的设置与使用 蓝牙是一种无线技术,能在台式机、笔记本电脑、个人数字助理(PDA)…

张小明 2026/1/8 16:27:33 网站建设

深圳市手机网站建设怎么样pc 移动网站 模板

第一章:AI Agent权限管理的核心挑战在构建现代AI系统时,AI Agent的权限管理成为保障系统安全与合规运行的关键环节。随着Agent被赋予更复杂的任务执行能力,其访问资源、调用API、操作用户数据的权限范围也随之扩大,若缺乏精细化的…

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

网站管理cms呼和浩特网站建设费用

Path of Building PoE2构建艺术深度解析:从数据计算到实战策略 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 在流放之路2的复杂角色构建系统中,每一个天赋节点的选择、每件装备…

张小明 2026/1/1 14:11:10 网站建设

网站定制开发是什么意思应届毕业生简历模板

中小企业数字化转型:从部署 anything-llm 镜像开始 在今天,一家不到50人的科技初创公司,如何在没有专职AI工程师的情况下,快速搭建一个能回答员工考勤政策、客户合同条款甚至产品技术细节的智能助手?这曾是一个遥不可及…

张小明 2026/1/2 0:08:26 网站建设