dpndp64206 2015-10-27 23:43
浏览 65

Android Java和PHP加密(AES)不匹配

So I have this line of code:

$signature = openssl_decrypt(base64_decode($signature), 'AES-256-CBC', $apiKey->private_key, 0, $iv);

And in my Android application I have this:

public String encrypt(String message, String privateKey) throws Exception{
    Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    IvParameterSpec iv = makeIv();
    cipher.init(Cipher.ENCRYPT_MODE, makeKey(privateKey), iv);
    return Base64.encodeToString(cipher.doFinal(message.getBytes()), Base64.DEFAULT);
}

And when I encrypt something in Java and send it to PHP, there, I get different output from decryption following with signature check failure.

What is the right way to encrypt on Java/Android side so that I can decrypt it in PHP like the line above shows?

Note: Do not worry about IV as I have a mechanism of exchanging it so I am using the same one for encryption and decryption.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
    • ¥15 让node服务器有自动加载文件的功能