2011-08-08 8 views
0

RSA暗号化保護を使用してSMSアプリケーションを作成しようとしています。 PublicKeyを保存するにはどうすればいいですか?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セクションには、いくつかのオプションがあります。ローカルストレージの主な3つは、SQLデータベース、SharedPreferences、およびFilesです。ユーザーの公開鍵を自分のデバイスに保存する方法についての質問があれば、それはおそらくファイルまたは共有の環境設定のいずれかになります。しかし、複数の公開鍵(自分のメッセージを復号化するために、通信しているすべての人のもの)を格納しているので、SQLデータベースのルートに進んでください。

+0

なぜStoring.classからメソッドをインポートできないのですか?ありがとうございました – androidBeginer

+0

あなたはどんなクラスを参照しているのかわかりません - Android APIを検索しても何も表示されません。あなたは私にそれをリンクできますか? –

関連する問題