今天朱基亮问如何在java中进行md5加密,我查了一下资料,整理了一下,
写了一个类,大家可以直接使用.如果想了解一下md5的源码,可以参看
网上的资料,java中提供了专门的md5工具类,使用是非常简单的。
package com.tsinghua;
import java.security.*;
public class MD5Tool {
public static void main(String []args){
String test="123";
//创建一个MD5Tool类
MD5Tool myMd5 =new MD5Tool();
String result=myMd5.MD5Encrypt(test);
System.out.println (test+" 加密後的结果是:"+result);
}
//该方法将你输入的字符串,通过md5加密,返回一个加密後的字符串
public static String MD5Encrypt(String inStr) {
MessageDigest md = null;
String outStr = null;
try {
md = MessageDigest.getInstance("MD5"); //可以选中其他的算法如SHA
byte[] digest = md.digest(inStr.getBytes());
//返回的是byet[],要转化为String存储比较方便
outStr = bytetoString(digest);
}
catch (NoSuchAlgorithmException nsae) {
nsae.printStackTrace();
}
return outStr;
}
public static String bytetoString(byte[] digest) {
String str = "";
String tempStr = "";
for (int i = 1; i < digest.length; i++) {
tempStr = (Integer.toHexString(digest[i] & 0xff));
if (tempStr.length() == 1) {
str = str + "0" + tempStr;
}
else {
str = str + tempStr;
}
}
return str.toLowerCase();
}
}
文章来自:http://hi.baidu.com/hanshunping/blog/item/6c94e2ef5e383514fdfa3c1c.html