Browse Source

Refactored

Nick Satinover 7 years ago
parent
commit
1ca25acac1
2 changed files with 23 additions and 153 deletions
  1. 23
    43
      Crypto/src/Main/ROT13.java
  2. 0
    110
      Crypto/src/Main/ROT13A.java

+ 23
- 43
Crypto/src/Main/ROT13.java View File

1
-
2
 import java.util.Arrays;
1
 import java.util.Arrays;
3
 import java.util.List;
2
 import java.util.List;
4
 
3
 
5
-import static java.lang.Character.isLowerCase;
6
-import static java.lang.Character.isUpperCase;
7
-import static java.lang.Character.toLowerCase;
8
-
9
 public class ROT13  {
4
 public class ROT13  {
10
     private int rotate;
5
     private int rotate;
11
     private int encryptShift = 26;
6
     private int encryptShift = 26;
7
+    private boolean encrypt;
8
+
9
+    public boolean isEncrypt() {
10
+        return encrypt;
11
+    }
12
 
12
 
13
+    public void setEncrypt(boolean encrypt) {
14
+        this.encrypt = encrypt;
15
+    }
13
 
16
 
14
     ROT13(Character cs, Character cf) {
17
     ROT13(Character cs, Character cf) {
15
         rotate = (int)(cs) - (int)(cf);
18
         rotate = (int)(cs) - (int)(cf);
26
         return encrypt(text);
29
         return encrypt(text);
27
     }
30
     }
28
 
31
 
29
-
30
-    public String crypt(String text, int shift, int rotate, boolean encrypt) throws UnsupportedOperationException {
32
+    public String crypt(String text, int rotate) throws UnsupportedOperationException {
31
         List<String> textList = Arrays.asList(text.split(" "));
33
         List<String> textList = Arrays.asList(text.split(" "));
32
         StringBuilder builder = new StringBuilder();
34
         StringBuilder builder = new StringBuilder();
33
 
35
 
34
         for (String s: textList) {
36
         for (String s: textList) {
35
             char[] charArr = s.toCharArray();
37
             char[] charArr = s.toCharArray();
36
             for (char c: charArr) {
38
             for (char c: charArr) {
37
-                if (encrypt)
38
-                    builder.append(shiftCharEncrypt(c, shift, rotate));
39
-                else {
40
-                    builder.append(shiftCharDecrypt(c, shift, rotate));
41
-                }
39
+                String strToAppend = isEncrypt() ? shiftCharEncrypt(c, rotate) : shiftCharDecrypt(c, rotate);
40
+                builder.append(strToAppend);
42
             }
41
             }
43
             builder.append(" ");
42
             builder.append(" ");
44
         }
43
         }
45
-
46
         return builder.toString().trim();
44
         return builder.toString().trim();
47
     }
45
     }
48
 
46
 
49
     public String encrypt(String text) {
47
     public String encrypt(String text) {
50
-        return crypt(text, encryptShift, getRotate(), true);
48
+        setEncrypt(true);
49
+        return crypt(text, getRotate());
51
     }
50
     }
52
 
51
 
53
     public String decrypt(String text) {
52
     public String decrypt(String text) {
54
-
55
-        return crypt(text, encryptShift * -1, getRotate() * -1, false);
53
+        setEncrypt(false);
54
+        return crypt(text, getRotate() * -1);
56
     }
55
     }
57
 
56
 
58
-    public String shiftCharEncrypt(char c, int shift, int rotate){
57
+    public String shiftCharEncrypt(char c, int rotate){
59
         if (c > 64){
58
         if (c > 64){
60
-            if ( (c > 96 && (c+ rotate) > 96) || (c <= 96 && (c+ rotate) > 64))
61
-                return  ( Character.toString( (char)(c+ rotate) ) );
62
-            else {
63
-                return  ( Character.toString( (char)(c+ rotate +shift) ) );
64
-            }
59
+            return  ( (c > 96 && (c + rotate) > 96) || (c <= 96 && (c + rotate) > 64) ) ?
60
+                    ( Character.toString( (char)(c + rotate) ) ) :
61
+                    ( Character.toString( (char)(c + rotate + encryptShift) ) );
65
         } else {
62
         } else {
66
             return Character.toString(c);
63
             return Character.toString(c);
67
         }
64
         }
68
     }
65
     }
69
 
66
 
70
-    public String shiftCharDecrypt(char c, int shift, int rotate){
67
+    public String shiftCharDecrypt(char c, int rotate){
71
         if (c > 64){
68
         if (c > 64){
72
-            if ( (c + rotate > 122) || (c <= 90  && c + rotate > 90 ) ) // ( (c < 123 && (c+ rotate) < 123) || (c <= 123 && (c+ rotate) > 64))
73
-                return  ( Character.toString( (char)(c+ rotate +shift) ) );
74
-            else {
75
-                return  ( Character.toString( (char)(c+ rotate) ) );
76
-            }
69
+            return  ( (c + rotate > 122) || (c <= 90  && c + rotate > 90 ) ) ?
70
+                    ( Character.toString( (char)(c + rotate + encryptShift * -1) ) ) :
71
+                    ( Character.toString( (char)(c + rotate) ) );
77
         } else {
72
         } else {
78
             return Character.toString(c);
73
             return Character.toString(c);
79
         }
74
         }
94
             returnChar[j] = (char)( (int)(charArr[i]));
89
             returnChar[j] = (char)( (int)(charArr[i]));
95
             j++;
90
             j++;
96
         }
91
         }
97
-
98
         return String.copyValueOf(returnChar);
92
         return String.copyValueOf(returnChar);
99
     }
93
     }
100
 
94
 
101
 }
95
 }
102
-//    public String encrypt(String word) {
103
-//        char[] charArr = word.toCharArray();
104
-//        for(int i = 0; i < charArr.length; i++)
105
-//        {
106
-//            int tempInt = ((int)charArr[i]) + 3;
107
-//            if(tempInt > 122)
108
-//            {
109
-//                tempInt -= 26;
110
-//            }
111
-//            charArr[i] = (char)tempInt;
112
-//        }
113
-//        String returnStr = new String(charArr);
114
-//        return returnStr;
115
-//    }

+ 0
- 110
Crypto/src/Main/ROT13A.java View File

1
-
2
-import java.util.Arrays;
3
-import java.util.List;
4
-
5
-import static java.lang.Character.isLowerCase;
6
-import static java.lang.Character.isUpperCase;
7
-import static java.lang.Character.toLowerCase;
8
-
9
-public class ROT13A  {
10
-    private int rotate;
11
-    private int encryptShift = 26;
12
-
13
-
14
-    ROT13A(Character cs, Character cf) {
15
-        rotate = (int)(cs) - (int)(cf);
16
-    }
17
-
18
-    ROT13A() {
19
-    }
20
-
21
-    public int getRotate() {
22
-        return rotate;
23
-    }
24
-
25
-    public String crypt(String text, int shift, int rotate, boolean encrypt) throws UnsupportedOperationException {
26
-        List<String> textList = Arrays.asList(text.split(" "));
27
-        StringBuilder builder = new StringBuilder();
28
-
29
-        for (String s: textList) {
30
-            char[] charArr = s.toCharArray();
31
-            for (char c: charArr) {
32
-                if (encrypt)
33
-                    builder.append(shiftCharEncrypt(c, shift, rotate));
34
-                else {
35
-                    builder.append(shiftCharDecrypt(c, shift, rotate));
36
-                }
37
-            }
38
-            builder.append(" ");
39
-        }
40
-
41
-        return builder.toString().trim();
42
-    }
43
-
44
-    public String encrypt(String text) {
45
-        return crypt(text, encryptShift, getRotate(), true);
46
-    }
47
-
48
-    public String decrypt(String text) {
49
-
50
-        return crypt(text, encryptShift * -1, getRotate() * -1, false);
51
-    }
52
-
53
-    public String shiftCharEncrypt(char c, int shift, int rotate){
54
-        if (c > 64){
55
-            if ( (c > 96 && (c+ rotate) > 96) || (c <= 96 && (c+ rotate) > 64))
56
-                return  ( Character.toString( (char)(c+ rotate) ) );
57
-            else {
58
-                return  ( Character.toString( (char)(c+ rotate +shift) ) );
59
-            }
60
-        } else {
61
-            return Character.toString(c);
62
-        }
63
-    }
64
-
65
-    public String shiftCharDecrypt(char c, int shift, int rotate){
66
-        if (c > 64){
67
-            if ( (c + rotate > 122) || (c <= 90  && c + rotate > 90 ) ) // ( (c < 123 && (c+ rotate) < 123) || (c <= 123 && (c+ rotate) > 64))
68
-                return  ( Character.toString( (char)(c+ rotate +shift) ) );
69
-            else {
70
-                return  ( Character.toString( (char)(c+ rotate) ) );
71
-            }
72
-        } else {
73
-            return Character.toString(c);
74
-        }
75
-    }
76
-
77
-    public static String rotate(String s, Character c) {
78
-        int staticRotateBy = (int)(c) - (int)(s.charAt(0));
79
-        char[] charArr = s.toCharArray();
80
-        char[] returnChar = new char[charArr.length];
81
-
82
-        int j = 0;
83
-        for (int i = staticRotateBy; i < returnChar.length; i++) {
84
-            returnChar[j] = (char)( (int)(charArr[i]));
85
-            j++;
86
-        }
87
-
88
-        for (int i = 0; i < staticRotateBy; i++) {
89
-            returnChar[j] = (char)( (int)(charArr[i]));
90
-            j++;
91
-        }
92
-
93
-        return String.copyValueOf(returnChar);
94
-    }
95
-
96
-}
97
-//    public String encrypt(String word) {
98
-//        char[] charArr = word.toCharArray();
99
-//        for(int i = 0; i < charArr.length; i++)
100
-//        {
101
-//            int tempInt = ((int)charArr[i]) + 3;
102
-//            if(tempInt > 122)
103
-//            {
104
-//                tempInt -= 26;
105
-//            }
106
-//            charArr[i] = (char)tempInt;
107
-//        }
108
-//        String returnStr = new String(charArr);
109
-//        return returnStr;
110
-//    }