我正在開發兩部分的解決方案:第一部分是將基於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