关于JavaWeb项目加密的实现 2021-04-24
关于加密这个东西很实用,加密这个东西在做项目时都会用到,首先自己创建了一个加密的类MyMd5.class
package cn.com.zzn.server;import cn.com.zzn.model.Manager;
import cn.com.zzn.untils.ManagerDao;import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class MyMd5 {//种子public static String preSeed = "!@#";//前缀public static String extSeed = "{}<>";//后缀public static String stringToMD5(String plainText) {byte[] secretBytes = null;try {secretBytes = MessageDigest.getInstance("md5").digest(plainText.getBytes());} catch (NoSuchAlgorithmException e) {throw new RuntimeException("没有这个md5算法!");}String md5code = new BigInteger(1, secretBytes).toString(16);for (int i = 0; i < 32 - md5code.length(); i++) {md5code = "0" + md5code;}return md5code;}//传进去是明文传出来是密文public static String signPwd(String plainText){return stringToMD5(preSeed+plainText+extSeed);}public static boolean validateManager(String loginId,String plainText){final ManagerDao dao =new ManagerDao();final Manager manager = dao.findByLoginId(loginId);if (manager !=null && manager.getPwd() !=null && MyMd5.signPwd(plainText).equals(manager.getPwd())){return true;}else {return false;}}
}
写个测试类来验证一下,注意一下方法: Assertions.assertEquals这个方法很管用,以后肯定会多多遇到,自己看的时候还是多注意一下
package cn.com.zzn.server;import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;import java.util.Locale;import static org.junit.jupiter.api.Assertions.*;/**测试加密和原来的数字是否对应* .toLowerCase()转换为小写*return的值的去向,其实很简单,谁去接收函数的返回值了,return的值就给谁了。* */class MyMd5Test {@Testvoid stringToMD5() {String sign = MyMd5.signPwd("123456");//传值给signPwd进行加密//第一个期望的值,第二个实际对比的值Assertions.assertEquals("d7971edf2ffcf852e9c3ea31a7bbe7e4",sign);//第一个是数据库的值第二个是期望的值}
}
关于JavaWeb项目加密的实现 2021-04-24相关推荐
- HDC.Cloud 华为开发者大会2021.04.24 学习记录
华为开发者大会2021(Cloud),每一个开发者都了不起 前言 又一次来到深圳,上次是参观腾讯滨海大厦,这次来到深圳的大学城参加华为开发者大会,一天下来收获满满:除了四场干货满满的分享会,还在午休期 ...
- Russ Cox:这不是Go项目的标准布局 | Gopher Daily (2021.04.28) ʕ◔ϖ◔ʔ
每日一谚:Profile before you decide something is performance critical. Go技术生态 Go web开发的当前状态 - https://tno ...
- Go webrtc项目pion创始人专访 | Gopher Daily (2021.04.07) ʕ◔ϖ◔ʔ
每日一谚:Go makes error handling as important as any other code Go技术生态 go webrtc项目pion的创始人专访 - https://w ...
- eclipse 将javaWeb项目转化成maven项目
eclipse 将javaWeb项目转化成maven项目 CreateTime--2018年4月18日16:04:18 Author:Marydon 1.首先,maven项目的标准目录 2.web项目 ...
- JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- 《安富莱嵌入式周报》第209期:2021.04.19--2021.04.25
往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...
- 想要在华为云上部署javaweb项目怎么做
前言 之前使用过华为云部署了一个简单的javaweb 项目,其中遇到了许多问题,现就这一篇博客简单说下我是如何部署项目. 入站规则和出站规则 简单的说,出站就是你访问外网,入站就是外网访问你. 具体说 ...
- WEB攻防-JavaWeb项目
WEB攻防-JavaWeb项目&JWT身份攻击&组件安全&访问控制 #知识点: 1.JavaWeb常见安全及代码逻辑 2.目录遍历&身份验证&逻辑&JW ...
- IDEA整合Tomcat启动javaweb项目
1.前言 突然兴起想要写这么一篇博客,不是因为别的,纯属是因为小编还是一个小白的时候,听某马和某硅谷的javaweb网课时,遇到这个章节一直启动不起来,虽然小编依旧是个菜鸡,但是今时不同往日了,小编已 ...
最新文章
- 总结网络执法官,p2p终结者等网管软件使用arp欺骗的防范方法
- 内存管理单元--MMU
- mysql数据库的字符集问题和存储引擎
- 野火Linux开发板接入华为云,Huawei_LiteOS——STM32F1移植(野火开发板)
- 如何使用git for windows上传文件到git仓库
- 使用正则表达式的技巧
- 从蚂蚁金服实践入手,带你深入了解 Service Mesh
- 集成学习lgb库调参的粒子群方法
- shell脚本获取mysql插入数据自增长id的值
- 算法面试题_求给定字符串的排列、组合、八皇后问题
- JSP技术-01-语法及运行原理
- mysql mmm安装管理详解
- 解决keep-live使用之后的问题
- 有屋(东莞)搬家啦~ Sketchup草图大师设计拆单 有屋拆单 全屋定制拆单 衣柜橱柜拆单
- 10、【易混淆概念集】-第六章1 三点估算 类比估算和参数估算的区别 储备分析 历时估算 项目进度网络图
- 数据仓库--事实表和维度表
- Linux入门基础学习参考资料
- 计算机优秀大学生,[最新]优秀计算机大学生毕业自我鉴定精选
- CocosCreator-精灵动态加载图片资源,实例化精灵
- 大话设计模式十二:门面模式(牛市股票也会亏钱)