解决方案 »

  1.   

    MD5CryptoServiceProvider().ComputeHash返回的是32位的md5
    下面的循环操作,也只是转换成string
    不应该是34位的纯数字,无法解释....
      

  2.   

    合适的话C#再写个接口吧。PHP调用该接口不就可以了么?
      

  3.   

    不用试了 结帐号给分吧function GetMD5($str){
        $tmp = md5($str);
        $ret = '';
        for($i = 0; $i < strlen($tmp); $i+=2){
            $ret .= hexdec( $tmp[$i].$tmp[$i+1] );
        }
        return $ret;
    }
      

  4.   

    还有关于你的程序,不知道是这个程序员有意为之还是弄错了,如果想要等到正确的MD5,应该是下面这样:public static string GetMD5(string str)
        {
            byte[] b = System.Text.Encoding.Default.GetBytes(str);
            b = new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(b);
            string ret = "";
            for (int i = 0; i < b.Length; i++)
            {
                ret = ret + b[i].ToString("x2");
            }
            return ret;
        }