2011-08-08 119 views
0

我想創建一個帶有RSA加密保護的短信應用程序。 我想問如何存儲公鑰?Android存儲RSA公鑰到文件夾

我試圖從Storing.class導入方法,但失敗了。

這是我的代碼

public class storePubKey extends BroadcastReceiver 
{ 
Storing store = new Storing(); 

public void onReceive(Context context, Intent intent) 
{ 
    //---get the SMS message passed in--- 
    Bundle bundle = intent.getExtras();   
    SmsMessage[] msgs = null; 
    String str = "";    
    if (bundle != null) 
    { 
     try{ 
     //---retrieve the SMS message received--- 
     Object[] pdus = (Object[]) bundle.get("pdus"); 
     msgs = new SmsMessage[pdus.length];    
     for (int i=0; i<msgs.length; i++){ 
      msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);     
      str = msgs[i].getMessageBody().toString();     
      store.saveToFile("public.key",str); 

     } 
     }catch(Exception e){} 

     } 
     //---display the new SMS message--- 
     try { 
      Toast.makeText(context,("public.keyYYYYYY"), Toast.LENGTH_SHORT).show(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
}   

public class Storing extends Activity { 

public void saveToFile(String filename, String sms) throws NoSuchAlgorithmException, InvalidKeySpecException, IOException{ 
     OutputStreamWriter out = new OutputStreamWriter(openFileOutput(filename, Context.MODE_APPEND)); 
     out.write(sms); 


     out.close(); 

} 
+0

你能告訴我如何將簡單字符串更改爲RSA格式...儘快回覆... –

回答

0

既然你問的是公鑰具體而言,我會假設你不問如何保護它,而你只是問IO。

您有幾個選項,詳見Android開發人員指南的Data Storage部分。本地存儲的三個主要部分是SQL數據庫,SharedPreferences和文件。如果問題更多地涉及如何將用戶的公鑰存儲在自己的設備上,那可能是文​​件或共享首選項。但是,由於您將要存儲多個公鑰(與您通信的每個人都爲了解密他們的郵件),我建議您使用SQL數據庫路由。

+0

爲什麼我無法從Storing.class導入方法?有沒有 – androidBeginer

+0

我不知道你指的是什麼類 - 我沒有看到任何搜索Android API的東西。你能聯繫我嗎? –