Main.java
2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package cryptor;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Scanner;
/**
* Main entry point for running the Cryptor program.
*/
public class Main {
/**
* Calls an encryption or decryption method according to command-line arguments.
* If no arguments are given then command prompts will be shown.
* @param args the command-line arguments.<br>
* Arguments for encryption:
* <ol>
* <li>-encrypt</li>
* <li>plaintext filename</li>
* <li>encrypted filename</li>
* <li>password</li>
* </ol>
* Arguments for decryption:
* <ol>
* <li>-decrypt</li>
* <li>encrypted filename</li>
* <li>decrypted filename</li>
* <li>password</li>
* </ol>
*/
public static void main(String[] args)
throws IOException, GeneralSecurityException {
if (args.length > 0) {
String mode = args[0];
String inFile = args[1];
String outFile = args[2];
char[] password = args[3].toCharArray();
if (mode.equals("-encrypt")) {
Cryptor.encrypt(inFile, outFile, password);
} else if (mode.equals("-decrypt")) {
Cryptor.decrypt(inFile, outFile, password);
} else {
throw new GeneralSecurityException("Not a valid cipher mode");
}
} else {
Scanner scan = new Scanner(System.in);
System.out.print("Enter input filename: ");
String fileIn = scan.nextLine();
System.out.print("Enter output filename: ");
String fileOut = scan.nextLine();
System.out.print("Enter password: ");
char[] password = scan.nextLine().toCharArray();
System.out.print("Enter cipher mode [encrypt | decrypt]: ");
String modeIn = scan.nextLine();
if (modeIn.equals("encrypt")) {
Cryptor.encrypt(fileIn, fileOut, password);
} else if (modeIn.equals("decrypt")) {
Cryptor.decrypt(fileIn, fileOut, password);
} else {
throw new GeneralSecurityException("Not a valid cipher mode");
}
}
}
}