本帖最后由 as604049322 于 2014-12-5 11:24 编辑
- import java.security.MessageDigest;
- class MD5Util {
-
- public static void main(String[] args) {
- System.out.println(MD5("20141205"));
- System.out.println(MD5("加密"));
- }
-
- public final static String MD5(String s) {
- char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
- try {
- // 获得MD5摘要算法的 MessageDigest 对象
- MessageDigest md5Inst = MessageDigest.getInstance("MD5");
- // 将源字符串以字节数组形式传入MessageDigest 对象并更新摘要
- md5Inst.update(s.getBytes());
- // 获得密文的字节数组
- byte[] md = md5Inst.digest();
-
- // 把密文转换成十六进制的字符串形式
- char str[] = new char[md.length * 2];
- int counnt = 0;
- for(byte i:md){
- str[counnt++] = hexDigits[i >>> 4 & 0xf];//取该字节高4位并查表
- str[counnt++] = hexDigits[i & 0xf];//取该字节低4位并查表
- }
-
- return new String(str);
-
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- }
复制代码
|