View difference between Paste ID: ntHXE5SJ and rKbhV23y
SHOW: | | - or go back to the newest paste.
1
import java.util.Arrays;
2
import java.util.Random;
3-
public class Communismographer {
3+
4
public class KeyMaker {
5
  private static char convertToChar(int ran)
6
  {
7
    if (ran == 0) {
8
      return '0';
9
    }
10
    if (ran == 1) {
11
      return '1';
12
    }
13
    if (ran == 2) {
14
      return '2';
15
    }
16
    if (ran == 3) {
17
      return '3';
18
    }
19
    if (ran == 4) {
20
      return '4';
21
    }
22
    if (ran == 5) {
23
      return '5';
24
    }
25
    if (ran == 6) {
26
      return '6';
27
    }
28
    if (ran == 7) {
29
      return '7';
30
    }
31
    if (ran == 8) {
32
      return '8';
33
    }
34
    if (ran == 9) {
35
      return '9';
36
    }
37
    if (ran == 10) {
38
      return 'A';
39
    }
40
    if (ran == 11) {
41
      return 'B';
42
    }
43
    if (ran == 12) {
44
      return 'C';
45
    }
46
    if (ran == 13) {
47
      return 'D';
48
    }
49
    if (ran == 14) {
50
      return 'E';
51
    }
52
    if (ran == 15) {
53
      return 'F';
54
    }
55
    if (ran == 16) {
56
      return 'G';
57
    }
58
    if (ran == 17) {
59
      return 'H';
60
    }
61
    if (ran == 18) {
62
      return 'I';
63
    }
64
    if (ran == 19) {
65
      return 'J';
66
    }
67
    if (ran == 20) {
68
      return 'K';
69
    }
70
    if (ran == 21) {
71
      return 'L';
72
    }
73
    if (ran == 22) {
74
      return 'M';
75
    }
76
    if (ran == 23) {
77
      return 'N';
78
    }
79
    if (ran == 24) {
80
      return 'O';
81
    }
82
    if (ran == 25) {
83
      return 'P';
84
    }
85
    if (ran == 26) {
86
      return 'Q';
87
    }
88
    if (ran == 27) {
89
      return 'R';
90
    }
91
    if (ran == 28) {
92
      return 'S';
93
    }
94
    if (ran == 29) {
95
      return 'T';
96
    }
97
    if (ran == 30) {
98
      return 'U';
99
    }
100
    if (ran == 31) {
101
      return 'V';
102
    }
103
    if (ran == 32) {
104
      return 'W';
105
    }
106
    if (ran == 33) {
107
      return 'X';
108
    }
109
    if (ran == 34) {
110
      return 'Y';
111
    }
112
    if (ran == 35) {
113
      return 'Z';
114
    }
115
    throw new IllegalArgumentException("Problem parsing key");
116
  }
117
  
118
  public static String genKey(String seed1, String seed2)
119
  {
120
    String s1 = "";
121
    for (int i = 0; i < 2; i++)
122
    {
123
      int ran = (int)(Math.random() * 36.0D);
124
      s1 = s1 + convertToChar(ran);
125
    }
126
    s1 = s1 + seed1;
127
    int value1 = 0;
128
    for (int i = 0; i < s1.length(); i++)
129
    {
130
      char c = s1.charAt(i);
131
      if ((c >= '0') && (c <= '9')) {
132
        value1 += c - '0';
133
      } else {
134
        value1 += c - 'A' + 10;
135
      }
136
    }
137
    String s2 = "";
138
    for (int i = 0; i < 2; i++)
139
    {
140
      int ran = (int)(Math.random() * 36.0D);
141
      s2 = s2 + convertToChar(ran);
142
    }
143
    s2 = s2 + seed2;
144
    int value2 = 0;
145
    for (int i = 0; i < s2.length(); i++)
146
    {
147
      char c = s2.charAt(i);
148
      if ((c >= '0') && (c <= '9')) {
149
        value2 += c - '0';
150
      } else {
151
        value2 += c - 'A' + 10;
152
      }
153
    }
154
    int checksum1 = value1 % 36;
155
    int checksum2 = value2 % 36;
156
    String s = convertToChar(checksum1) + s1 + "-" + convertToChar(checksum2) + s2;
157
    return s;
158
  }
159
  
160-
    System.out.println(genKey("1", "2"));
160+
161-
    System.out.println(genKey("3", "4"));
161+
    Random rand = new Random();
162-
    System.out.println(genKey("5", "6"));
162+
    int r1 = rand.nextInt(36);
163-
    System.out.println(genKey("7", "8"));
163+
    int r2 = rand.nextInt(36);
164-
    System.out.println(genKey("9", "0"));
164+
    String c1 = "" + convertToChar(r1);
165-
    System.out.println(genKey("A", "B"));
165+
    String c2 = "" + convertToChar(r2);
166-
    System.out.println(genKey("C", "D"));
166+
    
167
    System.out.println(genKey(c1, c2));
168
  }
169
}