方法一:推荐使用

所需jar包:commons-codec.jar

import org.apache.commons.codec.digest.DigestUtils;
/*** MD5加密之方法一* @explain 借助apache工具类DigestUtils实现* @param str*            待加密字符串* @return 16进制加密字符串*/
public static String encryptToMD5(String str) {return DigestUtils.md5Hex(str);
}  

方法二

/*** MD5加密之方法二* @explain java实现* @param str*            待加密字符串* @return 16进制加密字符串*/
public static String encrypt2ToMD5(String str) {// 加密后的16进制字符串String hexStr = "";try {// 此 MessageDigest 类为应用程序提供信息摘要算法的功能MessageDigest md5 = MessageDigest.getInstance("MD5");// 转换为MD5码byte[] digest = md5.digest(str.getBytes("utf-8"));hexStr = ByteUtils.toHexString(digest);} catch (Exception e) {e.printStackTrace();}return hexStr;
}  

方法三:SPRING核心包

import org.springframework.util.DigestUtils
import org.slf4j.logger
import org.slf4j.loggerFactory
/*** MD5加密之方法三* @explain springboot自带MD5加密* @param str*            待加密字符串* @return 16进制加密字符串*/public static String encrypt3ToMD5(String str) {log.debug("MD5待加密字符串:\n"+str);String md5 = "  ";try {md5 = DigestUtils.md5DigestAsHex(text.getBytes("utf-8"))} catch (UnsupportedEncodingException e) {e.printStackTrace();}log.degbug("MD5加密结果:\n"+md5)return md5;}

测试

public static void main(String[] args) {String str = "Marydon";System.out.println("MD5加密方法一:" + MD5Utils.encryptToMD5(str));System.out.println("MD5加密方法二:" + MD5Utils.encrypt2ToMD5(str));System.out.println("MD5加密方法三:" + MD5Utils.encrypt3ToMD5(str));// 结束都是:988218e7eefcd86d5d855a8947f37f43
}

关于MD5自动补零

https://www.cnblogs.com/Marydon20170307/p/9116924.html

java实现MD5加密的三种方式相关推荐

  1. Java中实现接口的三种方式您造吗?

    本文介绍了Java中实现接口的三种方式:常规实现方式.匿名内部类和 Lambda表达式实现方式.希望已经了解的同学可以重新温习一下,不了解的同学则从中受益! Java中接口最常规的实现方式 同学们都会 ...

  2. java中实现多线程的三种方式

    java中实现多线程的三种方式 1.实现多线程的方法: 在java中实现多线程的两途径:继承Thread类,实现Runable接口(Callable) 2.继承Thread类实现多线程: ​ 继承类T ...

  3. java中Map遍历的三种方式

    Java中Map遍历的三种方式 前言 一:在for循环中使用entries实现Map的遍历: 二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能 ...

  4. Java 创建一个线程的三种方式

    Java 创建一个线程的三种方式 更多内容,点击了解: https://how2j.cn/k/thread/thread-start/353.html 创建多线程有3种方式,分别是继承线程类,实现Ru ...

  5. Java代码实现MD5加密的两种方式

    MD5的全称是Message-Digest Algorithm 5 (信息-摘要算法),在90年代初,由MIT Laboratory for Computer Scientce 和RSA Data S ...

  6. Java 实现 HTTP 请求的三种方式

    除了本文推荐的几种方式,强烈推荐 OkHttp 目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较 ...

  7. 转list_你知道Java数组转List的三种方式及对比吗?

    前言: 本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析. 一.最常见方式(未必最佳) 通过 Arrays.asList(strArray ...

  8. java实现HTTP请求的三种方式

    From: https://www.cnblogs.com/hhhshct/p/8523697.html 目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的 ...

  9. Java 数组转 List 的三种方式及对比

    来源 | blog.csdn.net/x541211190/article/details/79597236 本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的 ...

  10. android java调用_关于Android中Java调用外部命令的三种方式

    此所谓三种方式,只是个人认为.本人还是菜鸟初涉,所以有所错误,请指正. 个人认为,Java调用外部命令.无非三种情况: 一.是只执行命令,不考虑返回值. 二.是执行命令的同时,还需要得到返回值. 三. ...

最新文章

  1. Android onTouch 方法 和onTouchEvent 方法
  2. 骑摩托的蒙娜丽莎 - 曼妙风骚的花式慢跑算法
  3. 关于onreadystatechange属性(转)
  4. Python Django URL逆向解析(通过Python代码逆向访问)代码示例
  5. RTT大牛告诉你,混合微内核是什么?
  6. C文件 写入 读取 函数
  7. poj 1155 TELE
  8. python为运行为何出现乱码_我的python写入文件正常,打开后却是乱码格式为什么?...
  9. linux命令应用大词典.pdf,Linux命令应用大词典
  10. 数据库创建/删除视图语句
  11. 集成电路可测性设计DFT技术入门概论--MBIST技术报告
  12. redis缓存服务器介绍与配置
  13. linux中dd命令增加内存使用率,Linux 下使用 dd 命令进行硬盘 I/O 性能检测
  14. 实验三 使用CSS3
  15. QSqlQuery内存问题分析及解决
  16. 什么是自动气象站 校园气象站
  17. 小程序笔记(四)发表评论或者普通发帖
  18. 小狗钱钱《读书笔记》系列(上)
  19. centos7查看进程ps_Linux ps命令:查看所有进程信息
  20. 电子商务网站建设策划书范例

热门文章

  1. 修改pip下载存放和安装位置
  2. CC2541蓝牙模块间通信设置 蓝牙透传 蓝牙通信程序
  3. SoapUI接口测试断言
  4. 图书管理系统mysql数据库设计_简单的图书馆管理系统数据库设计
  5. Linux下搭建FastDFS文件服务器(亲测成功)
  6. IEEE 类各种模板下载--以IEEE Access为例
  7. Groovy(一)安装和基础环境配置
  8. visio 绘图矢量图素材网站
  9. 传奇修改map地图教程_传奇gm如何增加或者修改服务器中的地图
  10. 轻松解决Mac和Windows中Unity汉化问题