SpringBoot开发文档二(MD5二次加密)
经过我们第一步的测试,我们可以进行最简单的网页-后台的交互,第二步我们就来进行密码的MD5的加密了。
首先我们为什么要进行MD5加密呢?是这样的,当前端返回给后端密码时,如果不进行加密,很容易被黑客入侵后台给盗取,这是前台到后台的面传输;还有后台到数据库的传输,同样,我们要防黑客攻击数据库,盗取数据库里存储的密码。我们也应在这一阶段设置加密。
所以加密分两段:1前台到数据库的传输;2后台到数据库的传输。
--------------------------------------------------------------------
好了一下开始我们的加密步骤:
第一步:我们首先在pom文件里添加加密依赖,如图:
这是依赖代码,拿去直接用:
<!--MD5依赖加密 --> <dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId> </dependency> <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.6</version> </dependency>
-------------------------------------------------------------------------
第二步我们要写加密工具类了,这是加密代码:
这是工具类的路径,我们提前写好工具类,之后我们要用的话直接调用,以下是代码直接用:
package com.xxxxx.seckilldemo.utils;import org.apache.commons.codec.digest.DigestUtils; import org.springframework.stereotype.Component;@Component public class MD5Util {public static String md5(String src) {return DigestUtils.md2Hex(src);}//定义一个“盐”,使其成为加密的一个依据。private static final String salt ="1a2b3c4d";//第一次加密:用户端输入密码传到后端的密码进行加密public static String inputPassToFromPass(String inputPass){String str =salt.charAt(0)+salt.charAt(2)+inputPass+salt.charAt(5)+salt.charAt(4);return md5(str);}//第二次加密:后端密码传到数据库的密码进行加密public static String fromPass(String fromPass,String salt){String str =salt.charAt(0)+salt.charAt(2)+fromPass+salt.charAt(5)+salt.charAt(4);return md5(str);}//将两个加密整合,我们只需调用这一个方法就能获得两次加密的密码public static String inputPassToDBPass(String inputPass,String salt){String fromPass = inputPassToFromPass(inputPass);String DBPass = fromPass(fromPass,salt);return DBPass;} }
其实原理也很简单,就是将前端的密码获取到,对其进行加密函数操作,然后返回加密密码。然后在讲这个密码给另一个相似的加密函数操作再进行加密,最后返回的数据库密码。如此操作数据库里的密码就“火星文”了。
这是工具类的代码,等我们要用的时候(书写登录业务的模块的时候)可以直接用。下面会更新。
SpringBoot开发文档二(MD5二次加密)相关推荐
- luajit开发文档中文版(二)LuaJIT扩展
2022年6月10日15:33:04 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...
- qgc开发文档_QGC地面站二次开发教程二
上一次带大家进行了ubuntu下的Q Ground Control安装与编译,这次教大家对地面站的页面进行修改,对按钮或者页面进行删减,如何添加下次再说吧,我还没研究明白. 一开始打开qgroundc ...
- luajit开发文档wiki中文版(二) LuaJIT 扩展
2022年6月9日09:39:53 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文档 ...
- luajit开发文档wiki中文版(四) LuaJIT 内部结构
2022年6月10日15:15:22 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...
- luajit开发文档中文版(一)下载和安装
2022年6月10日15:32:51 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...
- luajit开发文档wiki中文版(六) LuaJIT 开发
2022年6月10日15:20:41 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...
- luajit开发文档wiki中文版(五) 系统集成
2022年6月10日15:15:35 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...
- AutoCAD 开发文档,AutoLISP 教程,.Net AutoCAD开发教程,VB AutoCAD开发教程,ObjectARX 开发指南,VBA AutoCAD开发教程,ActiveX 开发指南
AutoCAD 开发文档, CAD开发者社区 - AutoCAD二次开发文档,CAD二次开发,CAD插件开发,中文CAD文档 - 中文CAD开发文档,CAD二次开发问题交流,优秀插件分享 AutoLI ...
- 最新云豹二开直/播短视频完整系统源码+带开发文档/教程
正文: 最新云豹二开直/播短视频完整系统源码+带开发文档/教程,好友给我分享的,属于云豹二开,功能非常的强大,且有非常完整的开发文档和教程. 但是说实话这类程序不属于好部署的那一种,比较吃一定的技术, ...
最新文章
- C++负数、小数如何保存
- 原生ajax的post操作
- Java的几种常见接口用法
- IndexedDB 索引数据库
- php 配置域名与端口号,lnmp 配置不同端口号的域名
- [architecture]-spin_unlock中是怎样让cpu退出standby模式的?
- c++使用Vigenere加解密文本的算法(附完整源码)
- 匿名内部类与Lambda表达式习题
- 计算机辅助抗体设计,计算机辅助设计提高单克隆抗体亲和力的研究
- Dubbo Metrics 发布新版本 2.0.1 | Dubbo 的度量统计基础设施
- 【算法导论第13章】红黑树
- 如何在SQL Server数据库中删除角色
- python pandas库-dataframe.pivot()方法的理解
- idea svn分支与分支合并_Idea svn 合并分支方式(坑)
- 杨东援:交通管控,从智能走向智慧
- Linux:设置文件夹权限之777的含义
- Vue项目引用高德地图实现车辆轨迹回放
- 大学生网页设计模板 静态HTML个人主页网页作业成品 DIV CSS个人介绍主题静态网页
- Linux 硬盘管理工具
- 组件化、模块化、Composing Builds