我想能够转换一个
ArrayList
它存储从BufferedReader读取的文件的内容,然后将内容转换为字节[]以允许使用Java的密码类加密。
我试过用
.getBytes()
但这不起作用,因为我认为我需要先转换数组列表,而且我很难弄清楚该怎么做。
代码:
// File variable
private static String file;
// From main()
file = args[2];
private static void sendData(SecretKey desedeKey, DataOutputStream dos) throws Exception {
ArrayList fileString = new ArrayList();
String line;
String userFile = file + ".txt";
BufferedReader in = new BufferedReader(new FileReader(userFile));
while ((line = in.readLine()) != null) {
fileString.add(line.getBytes()); //error here
}
Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, desedeKey);
byte[] output = cipher.doFinal(fileString.getBytes("UTF-8")); //error here
dos.writeInt(output.length);
dos.write(output);
System.out.println("Encrypted Data: " + Arrays.toString(output));
}
非常感谢,提前!