|
1 package net.fancyleeo.myeclipse6.keygen
2 /*已经生成好的一个:
3 *leeo
4 *yLR8ZC-855575-6754715443354716
5 */
6
7 import java.io.*;
8
9 public class KeyGen{
10 private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";
11 public String getSerial(String userId, String licenseNum){
12 java.util.Calendar cal = java.util.Calendar.getInstance();
13 cal.add(1, 3);
14 cal.add(6, -1);
15 java.text.NumberFormat nf = new java.text.DecimalFormat("000");
16 licenseNum = nf.format(Integer.valueOf(licenseNum));
17 String verTime = new StringBuilder("-").append(new java.text.
18 SimpleDateFormat("yyMMdd").format(cal.getTime())).append("0").
19 toString();
20 String type = "YE3MP-";
21 String need = new StringBuilder(userId.substring(0, 1)).append(type).
22 append("300").append(licenseNum).append(verTime).toString();
23 String dx = new StringBuilder(need).append(LL).append(userId).toString();
24 int suf = this.decode(dx);
25 String code = new StringBuilder(need).append(String.valueOf(suf)).
26 toString();
27 return this.change(code);
28 }
29
30 private int decode(String s) {
31 int i;
32 char[] ac;
33 int j;
34 int k;
35 i = 0;
36 ac = s.toCharArray();
37 j = 0;
38 k = ac.length;
39 while (j < k) {
40 i = (31 * i) + ac[j];
41 j++;
42 }
43 return Math.abs(i);
44 }
45
46 private String change(String s) {
47 byte[] abyte0;
48 char[] ac;
49 int i;
50 int k;
51 int j;
52 abyte0 = s.getBytes();
53 ac = new char[s.length()];
54 i = 0;
55 k = abyte0.length;
56 while (i < k) {
57 j = abyte0[i];
58 if ((j >= 48) && (j <= 57)) {
59 j = (((j - 48) + 5) % 10) + 48;
60 } else if ((j >= 65) && (j <= 90)) {
61 j = (((j - 65) + 13) % 26) + 65;
62 } else if ((j >= 97) && (j <= 122)) {
63 j = (((j - 97) + 13) % 26) + 97;
64 }
65 ac[i] = (char) j;
66 i++;
67 }
68 return String.valueOf(ac);
69 }
70
71 public KeyGen() {
72 super();
73 }
74
75 public static void main(String[] args){
76 try {
77 System.out.println("please input register name:");
78 BufferedReader reader = new BufferedReader(new InputStreamReader(
79 System.in));
80 String userId = null;
81 userId = reader.readLine();
82 KeyGen myeclipsegen = new KeyGen();
83 String res = myeclipsegen.getSerial(userId, "20");
84 System.out.println("Serial:" + res);
85 reader.readLine();
86 } catch (IOException ex){
87 }
88 }
89 }
http://www.blogjava.net/Files/jkleeo/KeyGen.zip
|