Я хочу иметь возможность преобразовать ArrayList<String>
, в котором хранится содержимое файла, считанного из BufferedReader, а затем преобразовать содержимое в байт [], чтобы его можно было зашифровать с помощью класса шифра Java.
Я пытался использовать .getBytes()
, но он не работает, так как я думаю, что мне нужно сначала преобразовать ArrayList, и у меня возникают проблемы с выяснением, как это сделать.
Код:
// File variable
private static String file;
// From main()
file = args[2];
private static void sendData(SecretKey desedeKey, DataOutputStream dos) throws Exception {
ArrayList<String> fileString = new ArrayList<String>();
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));
}
Большое спасибо, заранее!