如何从 Android studio 中的文本视图解码 RSA public 密钥(在 java 中)
How to Decode RSA public key(in java) from a text view in Android studio
我正在尝试为 android 创建一个 RSA 文本加密应用程序,所以我创建了三个片段生成、加密、解密,我在其中生成了 public 密钥,生成片段中的私钥然后用BASE64 并将其显示在文本视图中(现在 user1 与他的朋友 user2 共享它,然后他转到他的应用程序并将密钥粘贴到 Encrypt Fragment 文本视图中)。
现在在 Encrypt Fragment 中,我已经从文本视图中获取编码的 public 键值到一个字符串,但我无法将它解码为 public 键
正在生成,编码代码为
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;
现在我们在文本视图中显示 pubKeyStr 值
在 Encrypt Fragment 中,我从 textview 中获取 pubKetStr 值作为
String str1=editText.getText().toString();
请任何人建议如何解码此字符串 str1 以将其转换为 RSA public 密钥
如果您在以 base64 编码的文本字段中有密钥,请先将其转换为 byte[]
,然后生成 PublicKey
byte publicKeyData[] = Base64.decode(str1, Base64.DEFAULT)
X509EncodedKeySpec spec = new X509EncodedKeySpec(publicKeyData);
KeyFactory kf = KeyFactory.getInstance("RSA");
PublicKey publicKey = kf.generatePublic(spec);
我正在尝试为 android 创建一个 RSA 文本加密应用程序,所以我创建了三个片段生成、加密、解密,我在其中生成了 public 密钥,生成片段中的私钥然后用BASE64 并将其显示在文本视图中(现在 user1 与他的朋友 user2 共享它,然后他转到他的应用程序并将密钥粘贴到 Encrypt Fragment 文本视图中)。
现在在 Encrypt Fragment 中,我已经从文本视图中获取编码的 public 键值到一个字符串,但我无法将它解码为 public 键
正在生成,编码代码为
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;
现在我们在文本视图中显示 pubKeyStr 值
在 Encrypt Fragment 中,我从 textview 中获取 pubKetStr 值作为
String str1=editText.getText().toString();
请任何人建议如何解码此字符串 str1 以将其转换为 RSA public 密钥
如果您在以 base64 编码的文本字段中有密钥,请先将其转换为 byte[]
,然后生成 PublicKey
byte publicKeyData[] = Base64.decode(str1, Base64.DEFAULT)
X509EncodedKeySpec spec = new X509EncodedKeySpec(publicKeyData);
KeyFactory kf = KeyFactory.getInstance("RSA");
PublicKey publicKey = kf.generatePublic(spec);