PHP로 SWF 프로젝트를 변환하는 것이고, ActionScript에 많은 도움이되지 않으므로 PHP로 actionscript3의 Hex.toArray, Hex.fromString, Base64.encodeByteArray 함수를 변환하는 데 도움이 필요합니다.일부 AS 기능을 PHP로 변환합니다.
액션
public function spawn(query_str:String, key:String, token:String = "") : String{
var tmp1:* = key + "&" + token;
var tmp2:* = Crypto.getHMAC("sha1");
var tmp3:* = Hex.toArray(Hex.fromString(tmp1));
var tmp4:* = Hex.toArray(Hex.fromString(query_str));
var tmp5:* = tmp2.compute(tmp3, tmp4);
return Base64.encodeByteArray(tmp5);
}
I 변환 이것은 PHP 함수하지만, 두 함수의 결과는 당신이 hex2bin
대신 PHP에서 bin2hex
및 pack("H*", ...)
을 사용할 수 있습니다
function spawn($query_str, $key, $token = ''){
$tmp1 = $key . "&" . $token;
$tmp3 = pack("H*" , bin2hex($tmp1));
$tmp4 = pack("H*" , bin2hex($query_str));
$tmp5 = hash_hmac('sha1', $tmp4, $tmp3);
return base64_encode($tmp5);
}
hash_hmac에서 당신은 $ tmp4와 $ tmp3의 반대 인수를 넣었습니다. 그게 기대 되니? –
예, AS가 키이므로 데이터입니다. PHP에서 데이터, 키 – complez