在Java中采用MD5算法有以下两种方法:
1 第一种当然是自己写了
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
public String str;
public void md5s(String plainText) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
str = buf.toString();
System.out.println("result: " + buf.toString());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
public static void main(String agrs[]) {
MD5 md51 = new MD5();
String s1="4324534";
md51.md5s(s1);
}
}
2第二种是利用DigestUtils类中的md5Hex()方法,目前最新的开发包为commons-codec-1.3.jar,好处不言而喻,代码数量明显减少
import java.util.Random;
import org.apache.commons.codec.digest.DigestUtils;
public class hehe {
public static void main(String[] args){
String s1="132132134";
System.out.println(DigestUtils.md5Hex(s1));
}
}