byte[] result1 = Encoding.Default.GetBytes(username + city + time);
                    MD5 md5 = new MD5CryptoServiceProvider();
                    byte[] output1 = md5.ComputeHash(result1);
                    byte[] result2 = Encoding.Default.GetBytes(output1.ToString() + key);
                    byte[] output2 = md5.ComputeHash(result2);
                    byte[] result3 = Encoding.Default.GetBytes(output2.ToString() + ip);
                    byte[] output3 = md5.ComputeHash(result3);
                    string rule1 = Encoding.Default.GetString(output3);
得到的rule1是乱码,我就是MD5加密,然后得到加密后的字符串

解决方案 »

  1.   

     byte[] result1 = Encoding.Default.GetBytes(username + city + time);
                        MD5 md5 = new MD5CryptoServiceProvider();
                        byte[] output1 = md5.ComputeHash(result1);
                        byte[] result2 = Encoding.Default.GetBytes(Encoding .Default .GetString (output1 ) + key);
                        byte[] output2 = md5.ComputeHash(result2);
                        byte[] result3 = Encoding.Default.GetBytes(Encoding.Default.GetString(output2) + ip);
                        byte[] output3 = md5.ComputeHash(result3);
                        string rule1 = Encoding.Default.GetString(output3);
      

  2.   

    如果是16进制。
    string rule1 = BitConverter.ToString(output3)