Rijndael PHP编码FLASH解码

时间:2011-06-24 21:41:44

标签: php security rijndael

我正在尝试将一些加密数据传递给闪存,但我被卡在中间的某个地方。

我使用RIJNDAEL算法在PHP中编码数据:

function encrypt($text){
    $key = "53cded30ff7ba54d65b939fd594e3d63";
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); //get vector size on CBC mode 
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); //Creating the vector
    $cryptedtext = mcrypt_encrypt (MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CBC, $iv); //Encrypting using MCRYPT_RIJNDAEL_256 algorithm 
    return $cryptedtext;
}

我正在使用AS3CRYPT库来解密flash中的值。

问题在于,如果我尝试在flash中甚至在AS3CRYPT的演示中解码该值,它就不起作用。

我还尝试从使用base64_encode编码的PHP返回数据,但仍无效。

PHP的输出类似于:flashvar=Á žJcV—µg)7¾1´‘5{Ò<¶Ù$þS„§”

可能我在PHP中做错了...

1 个答案:

答案 0 :(得分:1)

PHP不会添加任何填充,这可能是必需的。

您必须手动填充take a look at this post on PHP.net,这解释了实现PKCS7填充兼容性的一种方法。

除此之外,请确保您在“AS3CRYPTO”中设置匹配的机密性模式(CBC)和密码。