美文网首页
《每日工作总结》Java的MD5加密——15.09.21

《每日工作总结》Java的MD5加密——15.09.21

作者: 懒人成长 | 来源:发表于2015-09-21 23:30 被阅读203次

    今天需要使用MD5对字符串进行加密,而Java中并没有可以直接使用的MD5封装工具,还是需要自己进行部分开发工作,因此将其加入自己的工具包中。

    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    /*
     * MD5 算法
    */
    public class MD5 {
        
        // 用于转换成十六进制的数组
        private final static String[] strDigits = { "0", "1", "2", "3", "4", "5",
                "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
    
        // 返回形式为数字跟字符串
        private static String byteToArrayString(byte bByte) {
            int iRet = bByte;
            if (iRet < 0) {
                iRet += 256;
            }
            int iD1 = iRet / 16;
            int iD2 = iRet % 16;
            return strDigits[iD1] + strDigits[iD2];
        }
    
        // 转换字节数组为16进制字串
        private static String byteToString(byte[] bByte) {
            StringBuffer sBuffer = new StringBuffer();
            for (int i = 0; i < bByte.length; i++) {
                sBuffer.append(byteToArrayString(bByte[i]));
            }
            return sBuffer.toString();
        }
    
        public static String md5(String strObj) {
            String resultString = null;
            try {
                resultString = new String(strObj);
                MessageDigest md = MessageDigest.getInstance("MD5");
                resultString = byteToString(md.digest(strObj.getBytes()));
            } catch (NoSuchAlgorithmException ex) {
                ex.printStackTrace();
            }
            return resultString;
        }
    }
    

    相关文章

      网友评论

          本文标题:《每日工作总结》Java的MD5加密——15.09.21

          本文链接:https://www.haomeiwen.com/subject/emdicttx.html