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 復号化の理想的なソリューションを探していますか? すべてのヘルプは大歓迎です?