Java显示无效字符?

时间:2013-01-08 23:34:17

标签: java encryption text utf-8 aes

我编写了一个执行标准AES S-Box加密的程序。我的问题是,当我加密消息时,它应该将文本写入JTextArea,但它只显示一堆小方框,当我尝试将其保存到文本文档时,它只会产生一堆问号文本文件。如何让它显示加密文本?或者我甚至可以自动将其写入文本文档而不会产生一堆问号?

我认为我必须使用utf-8文本编码,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

您的文字被加密为二进制数据。加密时,它不是任何字符集,也不能呈现为文本。如果您想要一种查看方式,可以对加密数据进行Base64编码。

请参阅:http://en.wikipedia.org/wiki/Base64

答案 1 :(得分:1)

在一般情况下,算法的输出不是有效文本。

如果您需要将其作为文本进行操作,可以在 base-64 中加密,只使用有效的ASCII字符。