Guest User

city supplies for /OSR/

a guest
May 2nd, 2016
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.Arrays;
  2. import java.util.Random;
  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.   public static void main(String[] args) {
  161.     Random rand = new Random();
  162.     int r1 = rand.nextInt(36);
  163.     int r2 = rand.nextInt(36);
  164.     String c1 = "" + convertToChar(r1);
  165.     String c2 = "" + convertToChar(r2);
  166.    
  167.     System.out.println(genKey(c1, c2));
  168.   }
  169. }
Add Comment
Please, Sign In to add comment