我正在开发两部分的解决方案:第一部分是将基于Android的SMS加密。而第二部分则关注发行和交换公钥/私钥。RSA之间的PHP服务器端和Java(Android)客户端。
一切都很好,直到我面临这个问题: 如果您使用的是java密码术类,它提供了生成密钥对象的mod和密钥的exp。尽管我从生成密钥的服务器获得的所有内容都是预先计算的公钥。所以,无法从服务器获取mod或exp,我在哪里使用phpseclib。
在做了一些研究之后:我带了三个选项,我需要决定哪一个最好。
1)如果有一种方法可以从phpseclib访问mod & exp,那么问题就会以较少的时间解决,对吧?
2)替换java中的本地加密类,与第三方一样,将采取公钥的弹性城堡是一个参数。
3)将服务器端语言改为JSP。那么,我可以在两边使用相同的类。
哪一种解决方案最容易采用..?
非常感谢。
服务器发送的“密钥”格式是什么? - 所需的密码参数将在其中编码,只需要提取。 – JimmyB
我认为这是默认的CRYPT_RSA_PUBLIC_FORMAT_PKCS1,在phpseclib文档中说过。 从服务器输出等: '----- BEGIN PUBLIC KEY ----- MIGfAoGXCsLnyw64KfYTd4hjhq6sS + 4AhnwgnAm/N/jMEaXtFCMVDfkY48dg5nMcOxjRmuJSK4Qr xDIjCtRyNkBj6nVDjwDGVe4vF5 + s7dkI1lwlfOM2kl/zuuUveeYaT1pSehh2gs2j32deIR8o1zhI 0 + bCebB + YC + mGND5Ro0dgc6z8AFevSEO12Ww9GP1ZFlTuwRAIt0/e3ZrIQIDAQAB ----- END PUBLIC KEY -----' – adel