【发布时间】:2013-04-04 16:50:46
【问题描述】:
我有一个小问题要将类型从byte[] 更改为String,然后从String 更改为byte[]。当我使用我的代码时,它返回 RSA 错误“rsa 块的数据太多”。但是当我使用原始的byte[] 时,它可以正常工作。
这就是它的工作原理:
cipherData = cipher.doFinal(cipherData);
我尝试更改数据类型:
// Byte[] to String
String encrypted = new String(cipherData, "UTF-8");
// RSA Operation
cipherData = cipher.doFinal(encrypted.getBytes());
【问题讨论】:
-
我不明白。
String encrypted = new String(cipherData, "UTF-8")行不会对cipherData = cipher.doFinal(cipherData)行产生任何影响。 -
你是绝对正确的。改变了它。但错误仍然存在。我也用 StringBuffer 试过。它也不起作用。
-
您是否尝试过明确指定字符集:
encrypted.getBytes("UTF-8")?
标签: java arrays string casting byte