本帖最后由 qq667669 于 2010-11-08 16:03:35 编辑

解决方案 »

  1.   

    怕丢失精度,试试ord函数。
    算法还没看懂
      

  2.   

    关键是要将十六进制的字符串转成十进制吧?
    就是HexDecEx的实现?
    这个数好像不小啊!
      

  3.   

    HexDecEx 16进制转10进制功能已经解决;非常感谢LuciferStar!function HexDecEx($hex) 

        $dec = 0;
        $len = strlen($hex); 
        for ($i = 1; $i <= $len; $i++) { 
            $dec = bcadd($dec, bcmul(strval(hexdec($hex[$i - 1])), bcpow('16', strval($len - $i)))); 
        } 
        return $dec; 
    }
      

  4.   

    $hash=hmac_sha1($sKey,$sTime);//中$sKey和$sTime都和java代码的值相同了,就是$hash结果跟java的不同!
      

  5.   

     Mac hmac= Mac.getInstance("HmacSHA1");
                hmac.init(new SecretKeySpec(keyBytes, "RAW"));
                return hmac.doFinal(text);JAVA里,这个Mac是什么?是不是这个值的获取有差别?
    可以PHP和JAVA里单独输出对比一下。
      

  6.   

    自己已经解决问题了,谢谢LuciferStar!
      

  7.   

    能否把代码给我传一份?xuyaoxy#126.com
    #换@