gpt4 book ai didi

java - 如何从 Android Studio 中的 TextView 解码 RSA 公钥(在 Java 中)

转载 作者:行者123 更新时间:2023-11-29 19:20:24 24 4
gpt4 key购买 nike

我正在尝试为 android 创建一个 RSA 文本加密应用程序,所以我创建了三个 fragment 生成、加密、解密,我在生成 fragment 中生成了公钥、私钥,然后用 BASE64 对其进行编码并在 TextView 中显示(现在 user1 共享与他的 friend user2 一起,然后他转到他的应用程序并将 key 粘贴到 Encrypt Fragment TextView 中)。

现在在 Encrypt Fragment 中,我已经从 TextView 中获取编码的公钥值到一个字符串,但我无法将它解码为公钥

生成,编码代码为

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;

现在我们在 TextView 中显示 pubKeyStr 值

在 Encrypt Fragment 中,我从 textview 中获取 pubKetStr 值作为

   String str1=editText.getText().toString();

请任何人建议如何解码此字符串 str1 以将其转换为 RSA 公钥

最佳答案

如果您在以 base64 编码的文本字段中有 key ,请先将其转换为 byte[],然后生成 PublicKey

byte publicKeyData[] = Base64.decode(str1, Base64.DEFAULT)
X509EncodedKeySpec spec = new X509EncodedKeySpec(publicKeyData);
KeyFactory kf = KeyFactory.getInstance("RSA");
PublicKey publicKey = kf.generatePublic(spec);

关于java - 如何从 Android Studio 中的 TextView 解码 RSA 公钥(在 Java 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42651856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com