使用java获取md5值的两种方法

 更新时间:2013年06月14日 11:42:01   作者:  
本篇文章是对使用java获取md5值的两种方法进行了详细的分析介绍,需要的朋友参考下
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,是一种比较常用的哈希算法。
java中可以用两种方法实现,我们先说麻烦一点的,代码:
复制代码 代码如下:

public class md5_test {
//MD5的字符串常量
private final static String[] hexDigits = { "0", "1", "2", "3", "4",
   "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
public static void main(String[] args) {
   // TODO Auto-generated method stub
   try {
    MessageDigest messageDigest= MessageDigest.getInstance("MD5");
    System.out.println(byteArrayToHexString(messageDigest.digest("baidu.com".getBytes())));
   } catch (NoSuchAlgorithmException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

}
private static String byteArrayToHexString(byte[] b) {
   StringBuffer resultSb = new StringBuffer();
   for (int i = 0; i < b.length; i++) {
    resultSb.append(byteToHexString(b[i]));
   }
   return resultSb.toString();
}
/** 将一个字节转化成十六进制形式的字符串 */
private static String byteToHexString(byte b) {
   int n = b;
   if (n < 0)
    n = 256 + n;
   int d1 = n / 16;
   int d2 = n % 16;
   return hexDigits[d1] + hexDigits[d2];
}
}

下面是简单的,但是需要导入一个jar包:commons-codec,
比如我用的这个commons-codec-1.4.jar代码:

复制代码 代码如下:

import org.apache.commons.codec.digest.DigestUtils;
public class ToMain {
public static void main(String[] args) {
   System.out.println(DigestUtils.md5Hex("baidu.com"));
}
}

相关文章

  • spring boot整合mongo查询converter异常排查记录

    spring boot整合mongo查询converter异常排查记录

    这篇文章主要为大家介绍了spring boot整合mongo查询时抛出converter异常的排查解决记录,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-03-03
  • 执行java请求时导致在脚本执行结束时JVM无法退出

    执行java请求时导致在脚本执行结束时JVM无法退出

    这篇文章主要介绍了执行java请求,导致在脚本执行结束时JVM无法退出问题,本文通过原因分析给出解决方案,需要的朋友可以参考下
    2020-02-02
  • 关于Java 中 Future 的 get 方法超时问题

    关于Java 中 Future 的 get 方法超时问题

    这篇文章主要介绍了Java 中 Future 的 get 方法超时,最常见的理解就是,“超时以后,当前线程继续执行,线程池里的对应线程中断”,真的是这样吗?本文给大家详细介绍,需要的朋友参考下吧
    2022-06-06
  • 详解Spring中InitializingBean接口的功能

    详解Spring中InitializingBean接口的功能

    这篇文章主要介绍了Spring中InitializingBean接口的功能,讲述了spring中InitializingBean接口的功能简介说明,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • javaweb图书商城设计之图书模块(4)

    javaweb图书商城设计之图书模块(4)

    这篇文章主要介绍了javaweb图书商城设计之图书模块的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 详解如何在Java中实现屏幕共享

    详解如何在Java中实现屏幕共享

    在本文中,将为大家展示如何利用 JxBrowser 的功能,实现运行在不同电脑上的两个 Java 应用程序之间的屏幕共享,感兴趣的小伙伴可以参考一下
    2024-10-10
  • SpringBoot使用JdbcTemplate访问操作数据库基本用法

    SpringBoot使用JdbcTemplate访问操作数据库基本用法

    这篇文章主要介绍了SpringBoot使用JdbcTemplate访问操作数据库基本用法,Spring对数据库的操作在jdbc上s面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。下文详细内容需要的小伙伴可以参考一下
    2022-02-02
  • 浅谈Java字符串比较的三种方法

    浅谈Java字符串比较的三种方法

    这篇文章主要介绍了浅谈Java字符串比较的三种方法,字符串比较是常见的操作,包括比较相等、比较大小、比较前缀和后缀串等,需要的朋友可以参考下
    2023-04-04
  • Java8 Stream教程之collect()的技巧

    Java8 Stream教程之collect()的技巧

    Java8引入了全新的Stream API,这里的Stream和I/O流不同,它更像具有Iterable的集合类,但行为和集合类又有所不同,下面这篇文章主要给大家介绍了关于Java8 Stream教程之collect()的技巧,需要的朋友可以参考下
    2022-09-09
  • java中关于return返回值的用法详解

    java中关于return返回值的用法详解

    在本篇文章里小编给大家整理的是一篇关于java中关于return返回值的用法详解内容,有兴趣的朋友们可以学习参考下。
    2020-12-12

最新评论