import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
?/**?
???? * MD5 加密?
???? */??
??? public static String getMD5Str(String str) {??
??????? MessageDigest messageDigest = null;??
??
??????? try {??
??????????? messageDigest = MessageDigest.getInstance("MD5");???????????
???????????
??????????? messageDigest.reset();??
??????????? messageDigest.update(str == null ? "".getBytes("UTF-8") : str.getBytes("UTF-8"));
??????? } catch (NoSuchAlgorithmException e) {??
??????????? System.out.println("NoSuchAlgorithmException caught!");??
??????????? System.exit(-1);??
??????? } catch (UnsupportedEncodingException e) {??
??????????? e.printStackTrace();??
??????? }??
??
??????? byte[] byteArray = messageDigest.digest();
??????? StringBuffer md5StrBuff = new StringBuffer();??
??
??????? for (int i = 0; i < byteArray.length; i++) {??????????????
??????????? if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)??
??????????????? md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));??
??????????? else??
??????????????? md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));??
??????? }??
??????? return md5StrBuff.toString();??
??? }?
jdk5 以上都是自带加密的jar;
?
// Spring有做过的。 /** * Test method for {@link org.springframework.util.DigestUtils#md5Digest(byte[])}. */ @Test public void testMd5Digest() throws Exception { byte[] result = DigestUtils.md5Digest(bytes); byte[] expected = new byte[] { -0x4f, 0xa, -0x73, -0x4f, 0x64, -0x20, 0x75, 0x41, 0x5, -0x49, -0x57, -0x65, -0x19, 0x2e, 0x3f, -0x1b }; assertArrayEquals("Invalid hash", expected, result); }