java实现MD5加密的三种方式「建议收藏」

java实现MD5加密的三种方式「建议收藏」方法一:推荐使用所需jar包:commons-codec.jarimportorg.apache.commons.codec.digest.DigestUtils;/***MD5加密之方法一*@explain借助apache工具类DigestUtils实现*@paramstr*待加密字符串*@return16进制加密字符串*/publicstaticStringencryptToMD5(Stringstr){ return

大家好,又见面了,我是你们的朋友全栈君。

方法一:推荐使用

所需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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157013.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • 如何搭建自己的网站

    如何搭建自己的网站当你看到我这个博客的时候,我猜你应该是学习计算机的朋友,你可能会写一些漂亮的前台界面,或者能写一个小的web项目,但是你可能不知道怎样让自己的这个界面或者项目,只通过一个网址,任何人都可以随时随地进行访问。好的现在就开始手把手教你如何搭建属于自己的个性网站…首先,你需要购买一台自己的服务器,这个服务器的作用就是用来存放你的项目,已达到24小时随时随地进行访问。国内服务器…

  • spss相关系数及其检验_等级相关系数法检验

    spss相关系数及其检验_等级相关系数法检验这里写目录标题SPSS的异方差检验(等级相关系数检验法)数据来源普通最小二乘法求回归方程功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导…

    2022年10月24日
  • 金税盘组件接口调用方法

    金税盘组件接口调用方法TaxCardX.dll组件接口 开卡 GoldTax:=CreateOleObject(‘TaxCardX.GoldTax’);GoldTax.CertPassWord:=’证书口令’;GoldTax.OpenCard; 发票查询 GoldTax.BatchUpload(‘查询报文’);1.查询体<?xmlversion=”1.0″encoding=”GBK”?><FPFP><DATA>

  • Python入门教程 超详细1小时学会Python

    Python入门教程 超详细1小时学会Python为什么使用Python假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200.思路:用shell编程.(Linux通常是ba

  • 时间序列 介绍(一)「建议收藏」

    时间序列 介绍(一)「建议收藏」引言DT时代,数据的重要性已经不必再强调了。最近几年深度学习,机器学习,人工智能炙手可热,各行各业的人,无论是单纯的蹭热度也好,还是真的想做一些改变,都在往这三个概念上靠,但我相信,绝大部分人是真

  • 投影矩阵介绍[通俗易懂]

    投影矩阵介绍[通俗易懂]一般我们是将相机模型简化成针孔相机模型,那么相平面与相机坐标系之间的关系为:通常为了方便,会把相平面放在小孔与目标点之间。下面就介绍下相平面投影的三种不同方法。透视投影(perspectiveprojection)通过相似三角形(下图两个虚线三角形)可以得到下列关系:展开就是:这里x_h等为齐次坐标系坐标,X等为相机坐标系点,x等则为相平面上的透视投影点,可以看出,投影点的位置不仅仅是与X等有简单的缩放关系,还和Z成反比,Z越大投影点x等越小,这就

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号