您不能
String像在此行中那样将密文用作构造函数的输入:
encryptedMessage = new String(encryptedData, "UTF-8");
如果 要使用字符串而不是字节来传达密文, 则 必须像使用密钥那样使用诸如base 64之类的编码。
加密将导致数据看起来像随机字节。并非所有字节都有等效的字符。转换的结果取决于字符编码。UTF-8可能会使用许多字节,并且许多组合都不会产生正确的字符。Java会静默转换它们,请检查
Charset和相关类以获取更多信息。

您不能
String像在此行中那样将密文用作构造函数的输入:
encryptedMessage = new String(encryptedData, "UTF-8");
如果 要使用字符串而不是字节来传达密文, 则 必须像使用密钥那样使用诸如base 64之类的编码。
加密将导致数据看起来像随机字节。并非所有字节都有等效的字符。转换的结果取决于字符编码。UTF-8可能会使用许多字节,并且许多组合都不会产生正确的字符。Java会静默转换它们,请检查
Charset和相关类以获取更多信息。