· 7 years ago · May 08, 2018, 08:14 PM
1import java.io.*;
2import java.util.Scanner;
3import java.io.File;
4import java.io.FileInputStream;
5import java.io.FileOutputStream;
6import java.io.IOException;
7import java.security.InvalidKeyException;
8import java.security.Key;
9import java.security.NoSuchAlgorithmException;
10import javax.crypto.BadPaddingException;
11import javax.crypto.Cipher;
12import javax.crypto.IllegalBlockSizeException;
13import javax.crypto.NoSuchPaddingException;
14import javax.crypto.spec.SecretKeySpec;
15
16public class EncryptTest {
17
18 BufferedWriter out;
19 static void fileProcessor(int cipherMode,String key,File inputFile,File outputFile){
20 try {
21 Key secretKey = new SecretKeySpec(key.getBytes(), "AES");
22 Cipher cipher = Cipher.getInstance("AES");
23 cipher.init(cipherMode, secretKey);
24
25 FileInputStream inputStream = new FileInputStream(inputFile);
26 byte[] inputBytes = new byte[(int) inputFile.length()];
27 inputStream.read(inputBytes);
28
29 byte[] outputBytes = cipher.doFinal(inputBytes);
30
31 FileOutputStream outputStream = new FileOutputStream(outputFile);
32 outputStream.write(outputBytes);
33
34 inputStream.close();
35 outputStream.close();
36
37 } catch (NoSuchPaddingException | NoSuchAlgorithmException
38 | InvalidKeyException | BadPaddingException
39 | IllegalBlockSizeException | IOException e) {
40 e.printStackTrace();
41 }
42 }
43
44 public EncryptTest()
45 {
46 try
47 {
48 out = new BufferedWriter(new FileWriter("text.txt"/*,true*/));
49
50 String userInput;
51 String userInput2;
52
53
54 Scanner input = new Scanner(System.in);
55
56
57 System.out.println("Enter Password 1 ");
58 userInput = input.nextLine();
59
60
61 System.out.println("Enter Password 2 ");
62 userInput2 = input.nextLine();
63
64 out.write(userInput);
65
66 out.write(userInput2);
67
68 out.newLine();
69
70 out.close();
71 }
72 catch(IOException e)
73 {
74 System.out.println("There was a problem:" + e);
75 }
76 }
77
78 public static void main(String[] args)
79 {
80 EncryptTest EncryptTest = new EncryptTest();
81 String key = "1234567890123456";
82 File inputFile = new File("text.txt");
83 File encryptedFile = new File("text.encrypted");
84 File decryptedFile = new File("decrypted-text.txt");
85
86 try {
87 Crypto.fileProcessor(Cipher.ENCRYPT_MODE,key,inputFile,encryptedFile);
88 Crypto.fileProcessor(Cipher.DECRYPT_MODE,key,encryptedFile,decryptedFile);
89 System.out.println("Success");
90 } catch (Exception ex) {
91 System.out.println(ex.getMessage());
92 ex.printStackTrace();
93 }
94 }
95
96
97}