我的目标是使用AES加密字符串我使用Base64进行加密,因为AES需要一个字节数组作为输入.此外,我希望正确存储每个可能的Char(包括中文和德文符号)
byte[] encryptedBytes = Base64.decodeBase64 ("some input");
System.out.println(new Base64().encodeToString(encryptedBytes));
Run Code Online (Sandbox Code Playgroud)
我认为应该打印"一些输入".而是打印"someinpu".我不可能使用sun.misc.*而是使用apache.commons.codec
有人知道出了什么问题吗?
Jon*_*eet 19
是 - "某些输入"不是有效的base64编码字符串.
base64的想法是将二进制数据编码为文本.然后,您将该文本数据解码为字节数组.您不能只解码任何任意文本,就像它是一个完整的base64消息一样,你可以尝试将mp3解码为jpeg图像.
加密字符串应该是这个过程:
text.getBytes("UTF-8")
)解密是一个问题:
new String(bytes, "UTF-8")
归档时间: |
|
查看次数: |
13166 次 |
最近记录: |