· 8 years ago · Nov 21, 2017, 02:58 AM
1private static byte[] encryptingAFile(List<Employee> list) {
2 byte[] empList, textEncrypted = null;
3
4 try {
5 ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
6 ObjectOutputStream object = new ObjectOutputStream(byteArray);
7
8 KeyGenerator keygenerator = KeyGenerator.getInstance("AES");
9 SecretKey myDesKey = keygenerator.generateKey();
10
11 Cipher desCipher;
12 desCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
13 String s;
14
15 for (Employee employee: list) {
16 object.writeObject(employee);
17 }
18
19 empList = byteArray.toByteArray();
20 desCipher.init(Cipher.ENCRYPT_MODE, myDesKey, new IvParameterSpec(new byte[16]));
21 textEncrypted = desCipher.doFinal(empList);
22
23 Files.write(Paths.get("Encrypt.txt"), textEncrypted);
24
25 desCipher.init(Cipher.DECRYPT_MODE, myDesKey, new IvParameterSpec(new byte[16]));
26 byte[] textDecrypted = desCipher.doFinal(textEncrypted);
27
28 ByteArrayInputStream bis = new ByteArrayInputStream(textDecrypted);
29 ObjectInputStream ois = new ObjectInputStream(bis);
30 List<Employee > result = (List<Employee>) ois.readObject();
31
32 System.out.println(result.toString());
33
34 }
35 catch (InvalidKeyException in) {
36 System.out.println(in);
37 }
38 catch (Exception e) {
39 System.out.println(e);
40 }
41 return textEncrypted;
42}