C# MD5加密工具类

方式一:(与其他MD5算法在加密某些数据时结果不同,但只有该方法适用于百度云推送的MD5加密)

/// <summary>
        /// MD5加密
        /// </summary>
        /// <param name="str">加密前字符串</param>
        /// <returns>加密后字符串</returns>
        public static string MD5Encrypt(string str)
        {
            StringBuilder strSignUpper = new StringBuilder();
            int perIndex = 0;
            for (int i = 0; i < str.Length; i++)
            {
                String c = str[i].ToString();
                if (str[i] == '%')
                {
                    perIndex = i;
                }
                if (i - perIndex == 1 || i - perIndex == 2)
                {
                    c = c.ToUpper();
                }
                strSignUpper.Append(c);
            }
            return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSignUpper.ToString(), "MD5").ToLower();
        }

方式二:(与网上的MD5加密工具结果相同,不能用在百度云推送)

public static string MD5Encrypt(string str, int code)
        {
            if (code == 16) //16位MD5加密(取32位加密的9~25字符) 
            {
                return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);
            }
            else//32位加密 
            {
                return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
            }
        }


你可能感兴趣的:(C# MD5加密工具类)