我正在尝试为RSA加密创建一个java项目,但是在将长ASCII序列转换为String序列时遇到问题,最后一部分是在加密中获取plainText。
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String hj = w2.getText();
String longue;
BigInteger rg, tfd;
String gh = "";
String e = "", rtyu = "", hjk = "";
longue = String.valueOf(h);
int kl = longue.length();
int jh = hj.length();
int nb = jh / (kl);
int gc = jh - (kl) * nb;
for (int uy = 0; uy < nb; uy++) {
rg = new BigInteger(hj.substring((uy * (kl)), ((uy + 1) * ((kl)))));
tfd = new BigInteger(String.valueOf(rg.modPow(des, h)));
e+= String.valueOf(tfd);
}
jTextArea1.setText(e);
byte[] byt;
byt = e.getBytes();
... }
我想知道在将e转换为字符值后我能做些什么?
示例:我想将此ASCII序列656667转换为字符以获取值“ABC”,
答案 0 :(得分:0)
假设输入格式正确,这个java 8解决方案将适合您:
String unconverted = "656667";
String converted = IntStream.range(0, unconverted.length() / 2)
.map(i -> Integer.parseInt(unconverted.substring(i * 2, (i * 2) + 2)))
.collect(
StringBuilder::new,
StringBuilder::appendCodePoint,
StringBuilder::append)
.toString();