我正在编写一个连接到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解密的理想解决方案?欢迎所有的帮助?