A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯盼 中级黑马   /  2012-12-1 16:45  /  824 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
        }
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马