一个报表,需要md5加密的字符串。下面是一个可用的MD5加密的类。加密的结果以16进制数字显示。
import java.security.MessageDigest; public class MD5 { private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; // encryt information by MD5 method public static String MD5Encode(String origin) { String resultString = null; try { resultString = new String(origin); MessageDigest md = MessageDigest.getInstance("MD5"); resultString = byteArrayToHexString(md.digest(resultString .getBytes())); } catch (Exception ex) { } return resultString; } private static String byteArrayToHexString(byte[] b) { StringBuffer resultSb = new StringBuffer(); for (int i = 0; i < b.length; i++) { resultSb.append(byteToHexString(b[i])); } return resultSb.toString(); } private static String byteToHexString(byte b) { int n = b; if (n < 0) { n = 256 + n; } int d1 = n / 16; int d2 = n % 16; return hexDigits[d1] + hexDigits[d2]; } public static void main(String[] args) { //MD5 getMD5 = new MD5(); System.out.println(MD5Encode("123")); } }
关于这个task有点郁闷,本来这个task是我的。但是这段时间手头上的task太多,和领导吵了一架。领导竟然我手头上已经提交的task分给了别人。也包括这个task。别人只是改了一个字段,测试通过,这个task竟然就成了别人的task。哎,郁闷。