2017-03-07 20 views
0

アンドロイド用のRSAテキスト暗号化アプリケーションを作成しようとしていますので、3つのフラグメントを作成します。フラグメントを生成し、それをBASE64でエンコードし、テキストビューで表示しました(user1は友人のuser2と共有し、彼は自分のアプリに行き、Encrypt Fragment textviewでキーをペーストします)。 AndroidスタジオのテキストビューからRSA公開鍵を解読する方法

今すぐ暗号化フラグメントで、私は文字列にテキストビューから撮影したエンコードされた公開鍵値を取っていたが、私は、公開鍵

の生成にそれをデコードすることはできませんよ、エンコーディングコードが

KeyPairGenerator kpg=KeyPairGenerator.getInstance("RSA"); 
       kpg.initialize(256); 
       KeyPair kp=kpg.genKeyPair(); 
       publicKey=kp.getPublic(); 
       privateKey=kp.getPrivate(); 

byte[] pubByte = publicKey.getEncoded(); 
pubKeyStr = new String(Base64.encodeToString(pubByte,Base64.DEFAULT)); 

byte[] priByte = privateKey.getEncoded(); 
priKeyStr = new String(Base64.encodeToString(priByte,Base64.DEFAULT)); 
return pubKeyStrr; 

です今、私たちは、私が

String str1=editText.getText().toString(); 
としてのTextViewからpubKetStr値をとっている暗号化フラグメントでテキストビューに

をpubKeyStr値を表示します

誰もがあなたがBASE64でエンコードされたテキストフィールドにキーを持っている場合は、最初のbyte[]に変換し、公開鍵

答えて

0

RSAに変換し、この文字列STR1をデコードして、PublicKey

byte publicKeyData[] = Base64.decode(str1, Base64.DEFAULT) 
X509EncodedKeySpec spec = new X509EncodedKeySpec(publicKeyData); 
KeyFactory kf = KeyFactory.getInstance("RSA"); 
PublicKey publicKey = kf.generatePublic(spec); 
を生成する方法を提案してください
+0

あなたは命の恩人です、私は多くの方法を試していましたが、注意して働きました。あなたの方法は完璧に働きました。 –

関連する問題