我有一個RSA加密和解密的問題。我正在開發Android,並希望外包RSA加密和解密。在我試圖外包之前,我的源代碼運行良好。外包RSA加密和解密的問題
我創建了一個私鑰和公鑰,並將其保存爲private.key和public.key。該錯誤是由這種方法ClassNotFoundException異常:
public Key getPrivateKey(){
try {
InputStream fis = activity.getResources().openRawResource(R.raw.private);
ObjectInputStream ois = new ObjectInputStream(fis);
Key RSAprivateKey = (Key)ois.readObject();
return RSAprivateKey;
}
catch (FileNotFoundException e) {
Log.e("FileNotFound","FileNotFound");
e.printStackTrace();
} catch (IOException e) {
Log.e("IOEXception","IOEXception");
e.printStackTrace();
} catch (ClassNotFoundException e) {
Log.e("ClassNotFound","ClassNotFound");
Log.e("Errro", "Error: "+ e.getMessage());
Log.e("error", e.toString());
e.printStackTrace();
}
return null;
}
我看着logcat的和得到這個錯誤信息:
E/ClassNotFound(1205): ClassNotFound
03-19 13:54:52.176: E/Errro(1205): Error:
com.android.org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
03-19 13:54:52.176: E/error(1205): java.lang.ClassNotFoundException:
com.android.org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
我希望你明白我的問題,因爲英語不是我的母語。
編輯:我發現問題不是由外包代碼造成的。所以我想這個話題可以被標記爲已解決。
僅供參考 - 您的日誌非常奇怪。您可能只需要一個包含Log.e(TAG,「Error loading key」,e);'的catch(Exception e)'語句,其中'TAG'是一個在別處定義的靜態字符串,例如'private static final String TAG = MyActivity.class.getName();'。 – 2013-03-20 08:20:46
請編輯您的問題與您添加到我現在刪除的答案的評論。也許有人可以幫助你。 – 2013-03-22 10:50:49
沒有「標記爲已解決」之類的東西。但是,如果問題不在幫助其他人,您可以刪除該問題。 – 2013-04-05 15:15:16