如果使用C#对字符串进行MD5加密,微软提供的是对字节数组进行加密,我转换后就会出错。

解决方案 »

  1.   

    MD5对字符串加密用这个吧,我现在一直在用的。        private string GetStringValue(byte[] Byte)
            {
                string tmpString = "";            if (this.isReturnNum == false)
                {
                    StringBuilder sBuilder = new StringBuilder();                for (int i = 0; i < Byte.Length; i++)
                    {
                        sBuilder.Append(Byte[i].ToString("x2"));
                    }                tmpString = sBuilder.ToString();
                }
                else
                {
                    int iCounter;                for (iCounter = 0; iCounter < Byte.Length; iCounter++)
                    {
                        tmpString = tmpString + Byte[iCounter].ToString();
                    }            }            return tmpString;
            }        private byte[] GetKeyByteArray(string strKey)
            {
                byte[] tmpByte = Encoding.Default.GetBytes(strKey);
                return tmpByte;
            }        private string getstrIN(string strIN)
            {
                //string strIN = strIN;
                if (strIN.Length == 0)
                {
                    strIN = "~NULL~";
                }
                if (isCaseSensitive == false)
                {
                    strIN = strIN.ToUpper();
                }
                return strIN;
            }
            
            public string MD5Encrypt(string strIN)
            {
                //string strIN = getstrIN(strIN);
                byte[] tmpByte;
                MD5 md5 = new MD5CryptoServiceProvider();
                tmpByte = md5.ComputeHash(GetKeyByteArray(getstrIN(strIN)));
                md5.Clear();            return GetStringValue(tmpByte);        }
      

  2.   

    http://hi.baidu.com/flying02/blog/item/94f185448ebd4c4c500ffe6c.html