开发者社区> 问答> 正文

java RSA 加密解密,汉字乱码怎么办

java RSA 加密解密,汉字乱码怎么办

展开
收起
知与谁同 2018-07-20 10:52:09 3531 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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载