md5加密简单实现

来源:互联网 发布:mac os iso 编辑:程序博客网 时间:2024/05/23 18:37
class MD5Util {public final static String MD5(String str) {// 用来将字节转换成 16 进制表示的字符char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};       try {byte[] btInput = str.getBytes();// 获得MD5摘要算法的 MessageDigest 对象MessageDigest mdInst = MessageDigest.getInstance("MD5");// 使用指定的字节更新摘要mdInst.update(btInput);// 获得密文byte[] md = mdInst.digest();// 把密文转换成十六进制的字符串形式int j = md.length;char str[] = new char[j * 2];// 每个字节用 16 进制表示的话,使用两个字符, // 所以表示成 16 进制需要 32 个字符int k = 0;// 表示转换结果中对应的字符位置for (int i = 0; i < j; i++) {// 从第一个字节开始,对 MD5 的每一个字节                // 转换成 16 进制字符的转换byte byte0 = md[i];// 取第 i 个字节// 取字节中高 4 位的数字转换, // >>> 为逻辑右移,将符号位一起右移str[k++] = hexDigits[byte0 >>> 4 & 0xf];// 取字节中低 4 位的数字转换str[k++] = hexDigits[byte0 & 0xf];}return new String(str);// 换后的结果转换为字符串} catch (Exception e) {e.printStackTrace();return null;}}

0 0
原创粉丝点击