1

PHP Web サービスに接続する Android アプリケーションを作成しています。実際、うまく動作する同様の ios アプリケーションがあり、それを複製しています。

PHP と iOS の間では、AES 暗号化/復号化を使用します。それはうまくいきます。しかし、Java暗号化では問題ありませんが、復号化は機能しません.Javaは暗号化してphpを理解しますが、phpが暗号化を行うと、私のJavaコードは十分ではありません. 以下のコードを書いています。

誰でも私を案内してくれますか?

PHP 暗号化 :

 echo base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128,
                                $key,
                                outputstring,
                                MCRYPT_MODE_ECB,
                                nil));

IOS 復号化 :

ccStatus = CCCrypt( encryptOrDecrypt,
                   kCCAlgorithmAES128,
                   kCCOptionECBMode,
                   (const void *)[symmetricKey bytes],
                   kCCKeySizeAES256,
                   nil,
                   (const void *) [plainText bytes],
                   plainTextBufferSize,
                   (void *)bufferPtr,
                   bufferPtrSize,
                   &movedBytes
                   );

Java 復号化 - うまく機能しない - 機能しないということは、同じデータ、同じ暗号化、同じキーを使用して同じ出力を取得できないことを意味します。

                SecretKeySpec skey = new SecretKeySpec(key, "AES");
                Cipher cipher = Cipher.getInstance(AES/ECB/NoPadding, "BC");
                cipher.init(Cipher.DECRYPT_MODE, skey);
                result = decrypt(cipher, input);

Java 復号化の理想的なソリューションを探していますか? すべてのヘルプは大歓迎です?

4

0 に答える 0