运行,在控制台敲入你的注册名,回车,就会出来注册码
1 package com.xpow.hodo.util;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStreamReader;
6
7 public class MyEclipseGen {
8 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.";
9
10 public String getSerial(String userId, String licenseNum) {
11 java.util.Calendar cal = java.util.Calendar.getInstance();
12 cal.add(1, 3);
13 cal.add(6, -1);
14 java.text.NumberFormat nf = new java.text.DecimalFormat("000");
15 licenseNum = nf.format(Integer.valueOf(licenseNum));
16 String verTime = new StringBuilder("-").append(
17 new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))
18 .append("0").toString();
19 String type = "YE3MP-";
20 String need = new StringBuilder(userId.substring(0, 1)).append(type)
21 .append("300").append(licenseNum).append(verTime).toString();
22 String dx = new StringBuilder(need).append(LL).append(userId)
23 .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 MyEclipseGen() {
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 MyEclipseGen myeclipsegen = new MyEclipseGen();
83 String res = myeclipsegen.getSerial(userId, "5");
84 System.out.println("Serial:" + res);
85 reader.readLine();
86 } catch (IOException ex) {
87 }
88 }
89 }
posted on 2010-05-01 17:31
jeanx 阅读(3962)
评论(1) 编辑 收藏