关于java MD5的加密源码

发布时间:2016-12-02 00:00:00 编辑:嘉辉 手机版

  MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。下面小编准备了关于java MD5的加密源码,欢迎大家参考!

  package util;

  import java.security.MessageDigest;

  import java.security.NoSuchAlgorithmException;

  public class MD5Tool {

  /**

  * 该方法将指定的字符串用MD5算法加密后返回。

  * @param s

  * @return

  */

  public static String getMD5Encoding(String s) {

  byte[] input=s.getBytes();

  String output = null;

  // 声明16进制字母

  char[] hexChar={‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘a’,‘b’,‘c’,‘d’,‘e’,‘f’};

  try{

  // 获得一个MD5摘要算法的对象

  MessageDigest md=MessageDigest.getInstance(“MD5”);

  md.update(input);

  /*

  MD5算法的结果是128位一个整数,在这里javaAPI已经把结果转换成字节数组了

  */

  byte[] tmp = md.digest();//获得MD5的摘要结果

  char[] str = new char[32];

  byte b=0;

  for(int i=0;i《16;i++){

  b=tmp[i];

  str[2*i] = hexChar[b》》》4 & 0xf];//取每一个字节的低四位换成16进制字母

  str[2*i+1] = hexChar[b & 0xf];//取每一个字节的高四位换成16进制字母

  }

  output = new String(str);

  }catch(NoSuchAlgorithmException e){

  e.printStackTrace();

  }

  return output;

  }

  }

本文已影响861
+1
0