Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Random;
- public class KeyMaker {
- private static char convertToChar(int ran)
- {
- if (ran == 0) {
- return '0';
- }
- if (ran == 1) {
- return '1';
- }
- if (ran == 2) {
- return '2';
- }
- if (ran == 3) {
- return '3';
- }
- if (ran == 4) {
- return '4';
- }
- if (ran == 5) {
- return '5';
- }
- if (ran == 6) {
- return '6';
- }
- if (ran == 7) {
- return '7';
- }
- if (ran == 8) {
- return '8';
- }
- if (ran == 9) {
- return '9';
- }
- if (ran == 10) {
- return 'A';
- }
- if (ran == 11) {
- return 'B';
- }
- if (ran == 12) {
- return 'C';
- }
- if (ran == 13) {
- return 'D';
- }
- if (ran == 14) {
- return 'E';
- }
- if (ran == 15) {
- return 'F';
- }
- if (ran == 16) {
- return 'G';
- }
- if (ran == 17) {
- return 'H';
- }
- if (ran == 18) {
- return 'I';
- }
- if (ran == 19) {
- return 'J';
- }
- if (ran == 20) {
- return 'K';
- }
- if (ran == 21) {
- return 'L';
- }
- if (ran == 22) {
- return 'M';
- }
- if (ran == 23) {
- return 'N';
- }
- if (ran == 24) {
- return 'O';
- }
- if (ran == 25) {
- return 'P';
- }
- if (ran == 26) {
- return 'Q';
- }
- if (ran == 27) {
- return 'R';
- }
- if (ran == 28) {
- return 'S';
- }
- if (ran == 29) {
- return 'T';
- }
- if (ran == 30) {
- return 'U';
- }
- if (ran == 31) {
- return 'V';
- }
- if (ran == 32) {
- return 'W';
- }
- if (ran == 33) {
- return 'X';
- }
- if (ran == 34) {
- return 'Y';
- }
- if (ran == 35) {
- return 'Z';
- }
- throw new IllegalArgumentException("Problem parsing key");
- }
- public static String genKey(String seed1, String seed2)
- {
- String s1 = "";
- for (int i = 0; i < 2; i++)
- {
- int ran = (int)(Math.random() * 36.0D);
- s1 = s1 + convertToChar(ran);
- }
- s1 = s1 + seed1;
- int value1 = 0;
- for (int i = 0; i < s1.length(); i++)
- {
- char c = s1.charAt(i);
- if ((c >= '0') && (c <= '9')) {
- value1 += c - '0';
- } else {
- value1 += c - 'A' + 10;
- }
- }
- String s2 = "";
- for (int i = 0; i < 2; i++)
- {
- int ran = (int)(Math.random() * 36.0D);
- s2 = s2 + convertToChar(ran);
- }
- s2 = s2 + seed2;
- int value2 = 0;
- for (int i = 0; i < s2.length(); i++)
- {
- char c = s2.charAt(i);
- if ((c >= '0') && (c <= '9')) {
- value2 += c - '0';
- } else {
- value2 += c - 'A' + 10;
- }
- }
- int checksum1 = value1 % 36;
- int checksum2 = value2 % 36;
- String s = convertToChar(checksum1) + s1 + "-" + convertToChar(checksum2) + s2;
- return s;
- }
- public static void main(String[] args) {
- Random rand = new Random();
- int r1 = rand.nextInt(36);
- int r2 = rand.nextInt(36);
- String c1 = "" + convertToChar(r1);
- String c2 = "" + convertToChar(r2);
- System.out.println(genKey(c1, c2));
- }
- }
Add Comment
Please, Sign In to add comment