JAVA工具类MD5加密(开箱即用)

没有那么多废话,我知道这是一个简单的加密工具类,但是网上的工具类很杂,我这至少保证全都是自己试验过的可以直接使用!

/**
* MD5不可逆加密工具类
*
*/
public class Md5Utils {
                /** 全局数组 **/
                private final static String[] strDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D","E", "F" };
                /**
                * 返回形式为数字跟字符串
                * @param bByte
                * @return
                */
                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进制字串
                    * @param bByte
                    * @return
                */
                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();
                    }
                    /**
                        * MD5加密
                        *
                        * @param str
                        *            待加密的字符串
                        * @return
                        */
                    public static String GetMD5Code(String str) {
                                    String result = null;
                                    try {
                                                result = new String(str);
                                                MessageDigest md = MessageDigest.getInstance("MD5");
                                                result = byteToString(md.digest(str.getBytes()));
                                    } catch (NoSuchAlgorithmException ex) {
                                                 ex.printStackTrace();
                                    }
                                    return result;
                    }
                    /**
                        * MD5加密
                        *
                        * @param str
                        *            待加密的字符串
                        * @param lowerCase
                        *            大小写
                        * @return
                    */
                    public static String GetMD5Code(String str, boolean lowerCase) {
                                        String result = null;
                                        try {
                                                    result = new String(str);
                                                    MessageDigest md = MessageDigest.getInstance("MD5");
                                                    result = byteToString(md.digest(str.getBytes()));
                                                    if (lowerCase) {
                                                            result = result.toLowerCase();
                                                       }
                                        } catch (NoSuchAlgorithmException ex) {
                                                    ex.printStackTrace();
                                        }
                                        return result;
                }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容