2011-06-24 10 views
0

暗号化されたデータをフラッシュに渡そうとしていますが、途中でスタックしてしまいました。Rijndael PHPエンコードFLASHデコード

ImはPHPでデータをエンコードするためにRijndaelアルゴリズムを使用して:

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; 
} 

とIMフラッシュの値を復号化するためにAS3CRYPTライブラリを使用。

問題は、FlashまたはAS3CRYPTのデモで値をデコードしようとすると、問題が発生するということです。

また、base64_encodeでエンコードされたPHPのデータを返しても、まだ動作しませんでした。

PHPからの出力のようなものです:flashvar=Á žJcV—µg)7¾1´‘5{Ò<¶Ù$þS„§”

たぶん私はPHPで何か間違ったことをした...

+0

おそらく、Flashで誤った解読方法を使用している可能性があります。良い暗号化アルゴリズムでは、何かが間違っているかどうかは分かりません(キーフレーズが間違っているなど)。 –

答えて

1

PHPはおそらく必要とされるすべてのパディングを追加しません。

手動でパッドする必要があります。take a look at this post on PHP.netでは、PKCS7パディングの互換性を実現する1つの方法について説明しています。

それ以外では、一致する機密性モード(CBC)と暗号を "AS3CRYPTO"内に設定していることを確認してください。

関連する問題