java RSA 加密解密,汉字乱码怎么办
收起
知与谁同
2018-07-20 10:52:09
3527
0
1
条回答
写回答
取消
提交回答
-
这个问题不是加密和解密的事件,而是没能正确地使用相同的字符集编码。
加密之前就应该约定双方使用同一个字符集编码来做编解码,比如用 UTF8,我们在用一个 byte[] 创建一个 String 时应该明确地指定字符集编码而不能使用默认值,因此默认值是跟操作系统或程序启动时的命令行有依赖关系的,这很难预料谁会使用你的程序,又会如何使用你的程序,我们明确地指定字符集就不会受此影响。
String a = "汉字“
byte[] bytes = a.getBytes("UTF8");
byte[] encoded = encode(bytes);
byte[] decoded = decode(encoded);
String received = new String(decoded, "UTF8");
2019-07-17 22:56:19