我是一名PHP开发人员(不是Android开发人员)。我将Android应用程序的开发外包,并且为了在应用程序和我的PHP服务器之间进行通信,我打算使用非对称加密(公钥 - 私钥加密)。
在PHP级别,我知道openssl_public_encrypt
和openssl_private_decrypt
。我告诉android开发人员使用OpenSSL公共加密和RSA加密来使用应用程序,但它无法正常工作。
我尝试过搜索,但无法找到任何有效的结果。
任何人都可以帮我解决这个问题,以便我可以告诉我的开发人员使用某种特定方法吗?
答案 0 :(得分:0)
我找到了答案。 openssl_public_encrypt
使用RSA算法,并且可以通过以下方式在Android中使用:
Cipher cipher = Cipher.getInstance(RSA);
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
我做错了是在双方使用默认加密模式,PHP和Android,这是错误的,因为它们不同。
有关详细信息,请参阅:https://stackoverflow.com/a/17820910/3333052