欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

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

程序员文章站 2022-04-01 21:43:23
...
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获取md5值的两种方法相关文章请关注PHP中文网!