From 6e35c5c7a574a4f512b63dda57a244828ca7d374 Mon Sep 17 00:00:00 2001 From: AIexMoran Date: Tue, 11 Dec 2018 23:57:20 +0300 Subject: [PATCH 1/3] first version --- src/crypto/Crypto.java | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/src/crypto/Crypto.java b/src/crypto/Crypto.java index 51d57b7..6dda492 100644 --- a/src/crypto/Crypto.java +++ b/src/crypto/Crypto.java @@ -3,8 +3,44 @@ import java.util.Scanner; public class Crypto { + public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - // write your code here + Crypto m = new Crypto(); + m.start(); + } + + public void start() { + Scanner scn = new Scanner(System.in); + String command = scn.nextLine(); + String message; + int key; + switch (command) { + case "encrypt": + message = scn.nextLine(); + key = scn.nextInt(); + System.out.println(encrypt(message, key)); + break; + case "decrypt": + message = scn.nextLine(); + key = scn.nextInt(); + System.out.println(decrypt(message, key)); + break; + } + } + + public String encrypt(String message, int key) { + StringBuilder result = new StringBuilder(); + for (int i = 0; i < message.length(); i++) { + result.append((char) (message.charAt(i) + key)); + } + return result.toString(); + } + + public String decrypt(String message, int key) { + StringBuilder result = new StringBuilder(); + for (int i = 0; i < message.length(); i++) { + result.append((char) (message.charAt(i) - key)); + } + return result.toString(); } } From b20d589bb131f97c4587baab1bb46fc2a295f057 Mon Sep 17 00:00:00 2001 From: AIexMoran Date: Sat, 22 Dec 2018 22:02:53 +0300 Subject: [PATCH 2/3] added args --- .idea/misc.xml | 2 +- src/crypto/Crypto.java | 26 +++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index a165cb3..0c4841a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/src/crypto/Crypto.java b/src/crypto/Crypto.java index 6dda492..8c3f97a 100644 --- a/src/crypto/Crypto.java +++ b/src/crypto/Crypto.java @@ -1,12 +1,31 @@ package crypto; +import java.util.Arrays; import java.util.Scanner; public class Crypto { public static void main(String[] args) { Crypto m = new Crypto(); - m.start(); + m.startWithArgs(args); + } + + public void startWithArgs(String[] args) { + if (args.length == 6) { + if (args[0].equals("-mode") && args[2].equals("-key") && args[4].equals("-data")) { + switch (args[1]) { + case "dec": + System.out.println(decrypt(args[5], Integer.parseInt(args[3]))); + break; + case "enc": + System.out.println(encrypt(args[5], Integer.parseInt(args[3]))); + break; + } + } + } else { + System.out.println("bad args"); + return; + } } public void start() { @@ -31,7 +50,7 @@ public void start() { public String encrypt(String message, int key) { StringBuilder result = new StringBuilder(); for (int i = 0; i < message.length(); i++) { - result.append((char) (message.charAt(i) + key)); + result.append((char)(message.charAt(i) + key)); } return result.toString(); } @@ -39,8 +58,9 @@ public String encrypt(String message, int key) { public String decrypt(String message, int key) { StringBuilder result = new StringBuilder(); for (int i = 0; i < message.length(); i++) { - result.append((char) (message.charAt(i) - key)); + result.append((char)(message.charAt(i) - key)); } return result.toString(); } + } From 47740bf61191c18f1b88b01cc5f00cdf1280ce1a Mon Sep 17 00:00:00 2001 From: AIexMoran Date: Sun, 23 Dec 2018 14:25:40 +0300 Subject: [PATCH 3/3] added "-out" "-in" --- src/crypto/Crypto.java | 76 ++++++++++++++++++++++++++---------------- 1 file changed, 47 insertions(+), 29 deletions(-) diff --git a/src/crypto/Crypto.java b/src/crypto/Crypto.java index 8c3f97a..101a158 100644 --- a/src/crypto/Crypto.java +++ b/src/crypto/Crypto.java @@ -1,50 +1,68 @@ package crypto; +import java.io.*; import java.util.Arrays; import java.util.Scanner; public class Crypto { + private Scanner scn; + private FileWriter fw; + public static void main(String[] args) { Crypto m = new Crypto(); m.startWithArgs(args); } public void startWithArgs(String[] args) { - if (args.length == 6) { - if (args[0].equals("-mode") && args[2].equals("-key") && args[4].equals("-data")) { - switch (args[1]) { - case "dec": - System.out.println(decrypt(args[5], Integer.parseInt(args[3]))); - break; - case "enc": - System.out.println(encrypt(args[5], Integer.parseInt(args[3]))); - break; + if (args.length < 6) { + return; + } + String mode = ""; + String data = ""; + int key = 0; + if (!args[0].equals("-mode")) { + System.out.println("Bad args"); + return; + } else { + mode = args[1]; + } + if (!args[2].equals("-key")) { + System.out.println("Bad args"); + return; + } else { + key = Integer.parseInt(args[3]); + } + if (args[4].equals("-data")) { + data = args[5]; + } else if (args[4].equals("-in")) { + try { + scn = new Scanner(new File(args[5])); + while (scn.hasNextLine()) { + data += scn.nextLine() + "\n"; } + } catch (IOException e) { + e.printStackTrace(); } } else { - System.out.println("bad args"); - return; + scn = new Scanner(System.in); + data = scn.nextLine(); } - } - - public void start() { - Scanner scn = new Scanner(System.in); - String command = scn.nextLine(); - String message; - int key; - switch (command) { - case "encrypt": - message = scn.nextLine(); - key = scn.nextInt(); - System.out.println(encrypt(message, key)); - break; - case "decrypt": - message = scn.nextLine(); - key = scn.nextInt(); - System.out.println(decrypt(message, key)); - break; + if (args.length > 6) { + if (args[6].equals("-out")) { + try { + fw = new FileWriter(new File(args[7])); + fw.write(data); + fw.flush(); + fw.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } else { + System.out.println(data); } + } public String encrypt(String message, int key) {