C# Java 通用MD5加密

java 代码

    /***
     * MD5加码 生成32位md5码
     */
    public static String string2MD5(String inStr){
        MessageDigest md5 = null;
        try{
            md5 = MessageDigest.getInstance("MD5");
        }catch (Exception e){
            System.out.println(e.toString());
            e.printStackTrace();
            return "";
        }
        char[] charArray = inStr.toCharArray();
        byte[] byteArray = new byte[charArray.length];

        for (int i = 0; i < charArray.length; i++)
            byteArray[i] = (byte) charArray[i];
        byte[] md5Bytes = md5.digest(byteArray);
        StringBuffer hexValue = new StringBuffer();
        for (int i = 0; i < md5Bytes.length; i++){
            int val = ((int) md5Bytes[i]) & 0xff;
            if (val < 16)
                hexValue.append("0");
            hexValue.append(Integer.toHexString(val));
        }
        return hexValue.toString();

    }

  

C# 代码

        public static String md5(String s)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes(s);
            bytes = md5.ComputeHash(bytes);
            md5.Clear();

            string ret = "";
            for (int i = 0; i < bytes.Length; i++)
            {
                ret += Convert.ToString(bytes[i], 16).PadLeft(2, '0');
            }

            return ret.PadLeft(32, '0');
        }

        /***
         * MD5加码 生成32位md5码
         */
        public static String string2MD5(String inStr)
        {
            MD5 md5 = null;
            try
            {
                md5 = MD5.Create("MD5");
            }
            catch (Exception e)
            {
                return "";
            }
            char[] charArray = inStr.ToCharArray();
            byte[] byteArray = new byte[charArray.Length];

            for (int i = 0; i < charArray.Length; i++)
                byteArray[i] = (byte)charArray[i];
            byte[] md5Bytes = md5.ComputeHash(byteArray);
            StringBuilder hexValue = new StringBuilder();
            for (int i = 0; i < md5Bytes.Length; i++)
            {
                int val = ((int)md5Bytes[i]) & 0xff;
                if (val < 16)
                    hexValue.Append("0");
                
                hexValue.Append(String.Format("{0:X}", val));
            }
            return hexValue.ToString();

        }
原文地址:https://www.cnblogs.com/for917157ever/p/14070725.html