关于加密这个东西很实用,加密这个东西在做项目时都会用到,首先自己创建了一个加密的类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相关推荐

  1. HDC.Cloud 华为开发者大会2021.04.24 学习记录

    华为开发者大会2021(Cloud),每一个开发者都了不起 前言 又一次来到深圳,上次是参观腾讯滨海大厦,这次来到深圳的大学城参加华为开发者大会,一天下来收获满满:除了四场干货满满的分享会,还在午休期 ...

  2. Russ Cox:这不是Go项目的标准布局 | Gopher Daily (2021.04.28) ʕ◔ϖ◔ʔ

    每日一谚:Profile before you decide something is performance critical. Go技术生态 Go web开发的当前状态 - https://tno ...

  3. Go webrtc项目pion创始人专访 | Gopher Daily (2021.04.07) ʕ◔ϖ◔ʔ

    每日一谚:Go makes error handling as important as any other code Go技术生态 go webrtc项目pion的创始人专访 - https://w ...

  4. eclipse 将javaWeb项目转化成maven项目

    eclipse 将javaWeb项目转化成maven项目 CreateTime--2018年4月18日16:04:18 Author:Marydon 1.首先,maven项目的标准目录 2.web项目 ...

  5. JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  6. 《安富莱嵌入式周报》第209期:2021.04.19--2021.04.25

    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...

  7. 想要在华为云上部署javaweb项目怎么做

    前言 之前使用过华为云部署了一个简单的javaweb 项目,其中遇到了许多问题,现就这一篇博客简单说下我是如何部署项目. 入站规则和出站规则 简单的说,出站就是你访问外网,入站就是外网访问你. 具体说 ...

  8. WEB攻防-JavaWeb项目

    WEB攻防-JavaWeb项目&JWT身份攻击&组件安全&访问控制 #知识点: 1.JavaWeb常见安全及代码逻辑 2.目录遍历&身份验证&逻辑&JW ...

  9. IDEA整合Tomcat启动javaweb项目

    1.前言 突然兴起想要写这么一篇博客,不是因为别的,纯属是因为小编还是一个小白的时候,听某马和某硅谷的javaweb网课时,遇到这个章节一直启动不起来,虽然小编依旧是个菜鸡,但是今时不同往日了,小编已 ...

最新文章

  1. 总结网络执法官,p2p终结者等网管软件使用arp欺骗的防范方法
  2. 内存管理单元--MMU
  3. mysql数据库的字符集问题和存储引擎
  4. 野火Linux开发板接入华为云,Huawei_LiteOS——STM32F1移植(野火开发板)
  5. 如何使用git for windows上传文件到git仓库
  6. 使用正则表达式的技巧
  7. 从蚂蚁金服实践入手,带你深入了解 Service Mesh
  8. 集成学习lgb库调参的粒子群方法
  9. shell脚本获取mysql插入数据自增长id的值
  10. 算法面试题_求给定字符串的排列、组合、八皇后问题
  11. JSP技术-01-语法及运行原理
  12. mysql mmm安装管理详解
  13. 解决keep-live使用之后的问题
  14. 有屋(东莞)搬家啦~ Sketchup草图大师设计拆单 有屋拆单 全屋定制拆单 衣柜橱柜拆单
  15. 10、【易混淆概念集】-第六章1 三点估算 类比估算和参数估算的区别 储备分析 历时估算 项目进度网络图
  16. 数据仓库--事实表和维度表
  17. Linux入门基础学习参考资料
  18. 计算机优秀大学生,[最新]优秀计算机大学生毕业自我鉴定精选
  19. CocosCreator-精灵动态加载图片资源,实例化精灵
  20. 大话设计模式十二:门面模式(牛市股票也会亏钱)

热门文章

  1. 电商素材网站解救节日美工忙,赶紧收藏
  2. 柔和渐变UI素材,让设计更加柔和的法宝。
  3. python分词统计词频_python jieba分词并统计词频后输出结果到Excel和txt文档方法
  4. Python爬虫项目---批量从搜款网下载主图、颜色图详情图
  5. 文件的上传、文件的下载、I18N国际化
  6. FD.io VPP的C语言接口如何使用:FD.io VPP: How To Use The C API
  7. 买房前需要注意的事项有哪些
  8. 【转】零拷贝的实现原理
  9. 笔记:网络管理与检测命令
  10. elasticsearch的一个bug总结