【发布时间】:2015-02-05 17:01:10
【问题描述】:
我的任务是将加密密码保存在属性文件中。我有这段代码,它工作正常,但我正在寻找 Java 空间中的一些替代方案。除了base64,有人可以给我其他正常工作的编码吗?
byte[] key = { '^', '(', 'S', '2', 'k', '*', '*','@', 'z', '/', 'a','#', '\\', 'd', 'R', 'G' };
byte[] dataToSend = new String("Hello Bob.").getBytes();
Cipher c;
String s = "";
try {
c = Cipher.getInstance("AES/ECB/PKCS5Padding");
SecretKeySpec k = new SecretKeySpec(key, "AES");
c.init(Cipher.ENCRYPT_MODE, k);
byte[] encryptedData = c.doFinal(dataToSend);
s = new BASE64Encoder().encode(encryptedData);
}
【问题讨论】:
-
你为什么认为,你需要不同的编码? Base64 的填充字符是否会产生一些问题或者这是别的什么?请让您的问题更清楚。
-
Base64不会造成任何问题。我之所以问,是因为我想知道 Java 中是否存在一些替代方案,例如UTF-8或UTF-16在这种情况下不合适。
标签: java encryption encoding base64 decoding