使用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"));
}
}

相关文章

  • java枚举是如何保证线程安全的

    java枚举是如何保证线程安全的

    这篇文章主要介绍了java枚举是如何保证线程安全的。Java SE5提供了一种新的类型-Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是一种非常有用的功能。,需要的朋友可以参考下
    2019-06-06
  • 基于Java Tomcat和激活MyEclips的深入理解

    基于Java Tomcat和激活MyEclips的深入理解

    本篇文章是对Java中的Tomcat和激活MyEclips进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 如何通过Java添加水印到Word文档

    如何通过Java添加水印到Word文档

    这篇文章主要介绍了如何通过Java添加水印到Word文档,水印是一种常用于各种文档的声明、防伪手段,一般可设置文字水印或者加载图片作为水印。以下内容将分享通过Java编程给Word文档添加水印效果的方法,需要的朋友可以参考下
    2019-07-07
  • springboot解决前后端分离时的跨域问题

    springboot解决前后端分离时的跨域问题

    这篇文章主要介绍了springboot如何解决前后端分离时的跨域问题,帮助大家更好的理解和学习使用springboot,感兴趣的朋友可以了解下
    2021-04-04
  • Java基础字符编码与内存流详细解读

    Java基础字符编码与内存流详细解读

    这篇文章主要给大家介绍了关于Java中方法使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • SpringMVC基于阻塞队列LinkedBlockingQueue的同步长轮询功能实现详解

    SpringMVC基于阻塞队列LinkedBlockingQueue的同步长轮询功能实现详解

    这篇文章主要介绍了SpringMVC基于阻塞队列LinkedBlockingQueue的同步长轮询功能实现详解,本文介绍的也是生产者消费者的一种实现,生产者不必是一个始终在执行的线程,它可以是一个接口,接受客户端的请求,向队列中插入消息,需要的朋友可以参考下
    2023-07-07
  • springboot 静态方法中使用@Autowired注入方式

    springboot 静态方法中使用@Autowired注入方式

    这篇文章主要介绍了springboot 静态方法中使用@Autowired注入方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java ZooKeeper分布式锁实现图解

    Java ZooKeeper分布式锁实现图解

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等
    2022-03-03
  • Java程序执行Cmd指令所遇问题记录及解决方案

    Java程序执行Cmd指令所遇问题记录及解决方案

    这篇文章主要介绍了Java程序执行Cmd指令所遇问题记录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • springboot如何实现自动装配源码解读

    springboot如何实现自动装配源码解读

    这篇文章主要介绍了springboot如何实现自动装配源码赏析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12

最新评论