MD5加密

作者在 2011-07-06 13:31:36 发布以下内容

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;
 }
 public static void main(String[] args) {
  System.out.println(getMD5Encoding("admin"));
 }
}

小小实例 | 阅读 878 次
文章评论,共0条
游客请输入验证码
浏览275913次