MD5加密实例

package test1;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5 {
private static final int SIZE = 2;
private static final int KeyConstant = 64;
private static final int CORPSCHAR = 0xff;

private MD5() {
}

private static String toHex(byte[] bytesArray) {
StringBuffer strBuf = new StringBuffer(KeyConstant);
String str = "";
for (byte b : bytesArray) {
str = Integer.toHexString(b & CORPSCHAR);
if (str.length() < SIZE) {
strBuf.append('0');
}
strBuf.append(str);
}
return strBuf.toString();
}

public static void main(String[] args) {
String s = "summer_heart";
String r = "summer_heart";
String m = "summer";
MessageDigest md;
try {
md = MessageDigest.getInstance("MD5");
md.update(s.getBytes());
System.out.println("s = " + toHex(md.digest()));
md.update(r.getBytes());
System.out.println("r = " + toHex(md.digest()));
md.update(m.getBytes());
System.out.println("m = " + toHex(md.digest()));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}

我写了三条测试数据,想看看是不是同一字符串产生的加密字符串是不是想通的,或则如果部分相同的字符串产生的加密字符串是不是也有部分相同

s = f0e1270827c7e09f723843716b2da363
r = f0e1270827c7e09f723843716b2da363
m = 6b1628b016dff46e6fa35684be6acc96


结果显而易见。。。

ps:目前就MD5加密,理论上是破解不了的,目前要破解只能通过暴力破解,那样得花费很长时间,而且都是收费的,不过国内有一女的似乎在破解MD5加密方面有点成功,不管怎样,MD5总有一天会被破解,到时候又会有别的加密方式出现。


posted @ 2011-12-22 15:04  BIGBIGBIG  阅读(645)  评论(0编辑  收藏  举报