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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python激活码2021 3_通用破解码

    python激活码2021 3_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    188
  • STM32中IIC协议[通俗易懂]

    IIC协议:接收器和发送器:物理层:SCL–时钟总线SDA–数据总线开始条件:SCL高电平,SDA由高变低停止条件:SCL高电平,SDA由低变高主机:用来产生SCL(发送数据和接收数据)从机:(发送数据和接收数据)总线空闲态:SDA为高电平(没有设备发送开始条件)写:1.主机发送开始条件2.发送从机地址(7位)+写

    2022年4月14日
    53
  • 均值归一化详解_matlab数据归一化

    均值归一化详解_matlab数据归一化数据归一化[TOC]将所有的数据映射到同一尺度。​首先,为什么需要数据归一化?举个简答的例子。样本间的距离时间所主导,这样在样本1以[1,200]输入到模型中去的时候,由于200可能会直接忽略到1的存在,因此我们需要将数据进行归一化。比如将天数转换为占比1年的比例,200/365=0.5479,100/365=0.2740。一、最值归一化最值归一化(Nor…

    2022年10月11日
    11
  • Linux | awk 命令「建议收藏」

    Linux | awk 命令「建议收藏」awk命令简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得非常强大,awk其实是一门语言,”格式扫描和处理语言“,它允许您创建

    2022年7月1日
    25
  • 如何实现复选框的全选和取消全选效果

    如何实现复选框的全选和取消全选效果:在很多网站都有这样的功能,当点击一个全选按钮之后,所有的复选框都会被选中,再点击之后会取消全选,功能非常的人性化,可以省却很多人力,下面就简单介绍一下JS如何实现此

    2021年12月21日
    49
  • RegisterStartupScript的用法[通俗易懂]

    RegisterStartupScript的用法[通俗易懂]Page.RegisterStartupScript("CloseAndRefresh","")1、Page.RegisterStartupScript(1

    2022年7月1日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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