Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package quickgen;
- import java.io.PrintStream;
- public class QuickGen
- {
- private static int shortHash(CharSequence s, int start, int end)
- {
- int check = 0;
- for (int ii = start; ii < end; ii++) {
- check = check * 149 + s.charAt(ii);
- }
- return check & 0xFFFF;
- }
- public static String generate(String prefix) {
- long ts = System.currentTimeMillis();
- StringBuilder sb = new StringBuilder();
- for (int ii = 0; ii < prefix.length(); ii++)
- sb.append(String.format("%X", new Object[] { Short.valueOf((short)prefix.charAt(ii)) }));
- sb.append('-');
- sb.append(String.format("%X", new Object[] { Long.valueOf(ts) }));
- int hash = shortHash(sb, 0, sb.length());
- sb.append('-');
- String lastKeyPart = String.format("%X", new Object[] { Integer.valueOf(hash) });
- while (lastKeyPart.length() < 4) {
- lastKeyPart = new StringBuilder().append("0").append(lastKeyPart).toString();
- }
- if (lastKeyPart.length() > 4)
- lastKeyPart.substring(0, 4);
- sb.append(lastKeyPart);
- return sb.toString();
- }
- public static boolean isValid(String serial) {
- int pos = serial.lastIndexOf('-');
- if (pos < 1) {
- return false;
- }
- int checkHash;
- try
- {
- checkHash = Integer.parseInt(serial.substring(pos + 1), 16);
- } catch (Throwable x) {
- return false;
- }
- return checkHash == shortHash(serial, 0, pos);
- }
- public static void main(String[] args) {
- String s = generate("GF");
- System.out.println(s);
- s = generate("AB");
- System.out.println(s);
- s = generate("TG");
- System.out.println(s);
- s = generate("YH");
- System.out.println(s);
- s = generate("AG");
- System.out.println(s);
- s = generate("UI");
- System.out.println(s);
- s = generate("AO");
- System.out.println(s);
- s = generate("OP");
- System.out.println(s);
- s = generate("DP");
- System.out.println(s);
- s = generate("XY");
- System.out.println(s);
- s = generate("OZ");
- System.out.println(s);
- }
- public static void PrintMessage(String message)
- {
- System.out.println(message);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement