黑马程序员技术交流社区

标题: java 对字符串进行MD5加密 [打印本页]

作者: 冯盼    时间: 2012-12-1 16:45
标题: java 对字符串进行MD5加密
import java.security.MessageDigest;

/**
*通过MD5算法对字符串加密
*
*/
public class ComputeMD5
{
        //查表法中的16进制字符表
        private final static char[] hexDigits =
        { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };

        /** */
        /**
         * 转换字节数组为16进制字串
         *
         * @param b 字节数组         
         * @return 16进制字串
         */
        public static String byteArrayToHexString(byte[] b)
        {
                StringBuffer resultSb = new StringBuffer();
                for (int i = 0; i < b.length; i++)
                {
                        resultSb.append(byteToHexString(b[i]));
                }
                return resultSb.toString();
        }

        /**
         * 转换字节为16进制字符串
         * @param b 要转换的字节
         * @return 转换为16进制的字符串
         */
        private static String byteToHexString(byte b)
        {
                int n = b;
                if (n < 0)
                        n = 256 + n;
                int d1 = n / 16;
                int d2 = n % 16;
                return ""+hexDigits[d1] + hexDigits[d2];
        }

        /**
         * 对字符串进行MD5加密
         * @param origin 原始字符串
         * @return 加密后的字符串
         */
        public static String MD5Encode(String origin)
        {
                String resultString = null;

                try
                {
                        resultString = new String(origin);
                        MessageDigest md = MessageDigest.getInstance("MD5");
                        resultString = byteArrayToHexString(md.digest(resultString.getBytes()));
                } catch (Exception ex)
                {

                }
                return resultString;
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2