16/32位MD5加密工具类

来源:互联网 发布:快速排序算法 图解 编辑:程序博客网 时间:2024/06/07 07:54
import java.security.MessageDigest;public class MD5Util {public static String MD5(String sourceStr) {try {// 获得MD5摘要算法的 MessageDigest对象MessageDigest mdInst = MessageDigest.getInstance("MD5");// 使用指定的字节更新摘要mdInst.update(sourceStr.getBytes());// 获得密文byte[] md = mdInst.digest();// 把密文转换成十六进制的字符串形式StringBuffer buf = new StringBuffer();for (int i = 0; i < md.length; i++) {int tmp = md[i];if (tmp < 0)tmp += 256;if (tmp < 16)buf.append("0");buf.append(Integer.toHexString(tmp));}return buf.toString().substring(8, 24);// 16位加密// return buf.toString();// 32位加密} catch (Exception e) {e.printStackTrace();return null;}}public static void main(String[] args) {String str = "1";String encryptStr = MD5(str);System.out.println("加密前:" + str);System.out.println("加密后:" + encryptStr);}}

1 0