当前位置: 代码迷 >> Web前端 >> 年底整理十四 MD5加密
  详细解决方案

年底整理十四 MD5加密

热度:337   发布时间:2012-10-21 09:00:07.0
年末整理十四 MD5加密

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;

?

1 楼 Garfield.Geng 2011-02-08  
// 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);
}
  相关解决方案