[导入]那個碼
1
import
java.io.BufferedReader;
2 import java.io.IOException;
3 import java.io.InputStreamReader;
4 import java.io.PrintStream;
5 import java.text.DecimalFormat;
6 import java.text.NumberFormat;
7 import java.text.SimpleDateFormat;
8 import java.util.Calendar;
9
10 public class Myeclipse5_5_0_KeyMaker {
11
12 private static final String L = " 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. " ;
13
14
15 public static void main(String args[]) {
16 BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
17 String userId = null ;
18 int intLicenseNum = 1 ;
19 String strLicenseNum = null ;
20 boolean bProFlag = true ;
21 String strProFlag = null ;
22 while (userId == null || "" .equals(userId.trim())) {
23 System.out.print( " Subscriber: " );
24 try {
25 userId = br.readLine();
26 }
27 catch (IOException ioexception) { }
28 }
29 System.out.print( " Number of licenses(default 1, max 999): " );
30 try {
31 strLicenseNum = br.readLine();
32 }
33 catch (IOException ioexception1) { }
34 NumberFormat nf = new DecimalFormat( " 000 " );
35 if (strLicenseNum == null || "" .equals(strLicenseNum.trim())) {
36 strLicenseNum = nf.format(intLicenseNum);
37 } else {
38 strLicenseNum = nf.format(Integer.parseInt(strLicenseNum));
39 }
40 System.out.print( " Professional or Standard(default pro, n=stand): " );
41 try {
42 strProFlag = br.readLine();
43 }
44 catch (IOException ioexception2) { }
45 if (strProFlag != null && ! "" .equals(strProFlag.trim())) {
46 bProFlag = false ;
47 }
48 Calendar cal = Calendar.getInstance();
49 cal.add( 1 , 2 );
50 cal.add( 6 , - 1 );
51 SimpleDateFormat sdf = new SimpleDateFormat( " yyMMdd " );
52 String need = userId.substring( 0 , 1 ) + " Y " + (bProFlag ? " E3MP " : " E2MY " ) + " -100 " + strLicenseNum + " - " + sdf.format(cal.getTime()) + " 0 " ;
53 String dx = need + " 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. " + userId;
54 int suf = decode(dx);
55 String code = need + suf;
56 System.out.println( " Subscription Code: " + change(code));
57 }
58
59 static int decode(String s) {
60 int i = 0 ;
61 char ac[] = s.toCharArray();
62 int j = 0 ;
63 for ( int k = ac.length; j < k; j ++ ) {
64 i = 31 * i + ac[j];
65 }
66
67 return Math.abs(i);
68 }
69
70 static String change(String s) {
71 if (s == null || s.length() == 0 ) {
72 return s;
73 }
74 byte abyte0[] = s.getBytes();
75 char ac[] = new char [s.length()];
76 int i = 0 ;
77 for ( int k = abyte0.length; i < k; i ++ ) {
78 int j = abyte0[i];
79 if (j >= 48 && j <= 57 ) {
80 j = ((j - 48 ) + 5 ) % 10 + 48 ;
81 } else
82 if (j >= 65 && j <= 90 ) {
83 j = ((j - 65 ) + 13 ) % 26 + 65 ;
84 } else
85 if (j >= 97 && j <= 122 ) {
86 j = ((j - 97 ) + 13 ) % 26 + 97 ;
87 }
88 ac[i] = ( char )j;
89 }
90
91 return String.valueOf(ac);
92 }
93 }
2 import java.io.IOException;
3 import java.io.InputStreamReader;
4 import java.io.PrintStream;
5 import java.text.DecimalFormat;
6 import java.text.NumberFormat;
7 import java.text.SimpleDateFormat;
8 import java.util.Calendar;
9
10 public class Myeclipse5_5_0_KeyMaker {
11
12 private static final String L = " 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. " ;
13
14
15 public static void main(String args[]) {
16 BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
17 String userId = null ;
18 int intLicenseNum = 1 ;
19 String strLicenseNum = null ;
20 boolean bProFlag = true ;
21 String strProFlag = null ;
22 while (userId == null || "" .equals(userId.trim())) {
23 System.out.print( " Subscriber: " );
24 try {
25 userId = br.readLine();
26 }
27 catch (IOException ioexception) { }
28 }
29 System.out.print( " Number of licenses(default 1, max 999): " );
30 try {
31 strLicenseNum = br.readLine();
32 }
33 catch (IOException ioexception1) { }
34 NumberFormat nf = new DecimalFormat( " 000 " );
35 if (strLicenseNum == null || "" .equals(strLicenseNum.trim())) {
36 strLicenseNum = nf.format(intLicenseNum);
37 } else {
38 strLicenseNum = nf.format(Integer.parseInt(strLicenseNum));
39 }
40 System.out.print( " Professional or Standard(default pro, n=stand): " );
41 try {
42 strProFlag = br.readLine();
43 }
44 catch (IOException ioexception2) { }
45 if (strProFlag != null && ! "" .equals(strProFlag.trim())) {
46 bProFlag = false ;
47 }
48 Calendar cal = Calendar.getInstance();
49 cal.add( 1 , 2 );
50 cal.add( 6 , - 1 );
51 SimpleDateFormat sdf = new SimpleDateFormat( " yyMMdd " );
52 String need = userId.substring( 0 , 1 ) + " Y " + (bProFlag ? " E3MP " : " E2MY " ) + " -100 " + strLicenseNum + " - " + sdf.format(cal.getTime()) + " 0 " ;
53 String dx = need + " 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. " + userId;
54 int suf = decode(dx);
55 String code = need + suf;
56 System.out.println( " Subscription Code: " + change(code));
57 }
58
59 static int decode(String s) {
60 int i = 0 ;
61 char ac[] = s.toCharArray();
62 int j = 0 ;
63 for ( int k = ac.length; j < k; j ++ ) {
64 i = 31 * i + ac[j];
65 }
66
67 return Math.abs(i);
68 }
69
70 static String change(String s) {
71 if (s == null || s.length() == 0 ) {
72 return s;
73 }
74 byte abyte0[] = s.getBytes();
75 char ac[] = new char [s.length()];
76 int i = 0 ;
77 for ( int k = abyte0.length; i < k; i ++ ) {
78 int j = abyte0[i];
79 if (j >= 48 && j <= 57 ) {
80 j = ((j - 48 ) + 5 ) % 10 + 48 ;
81 } else
82 if (j >= 65 && j <= 90 ) {
83 j = ((j - 65 ) + 13 ) % 26 + 65 ;
84 } else
85 if (j >= 97 && j <= 122 ) {
86 j = ((j - 97 ) + 13 ) % 26 + 97 ;
87 }
88 ac[i] = ( char )j;
89 }
90
91 return String.valueOf(ac);
92 }
93 }
文章来源: http://www.blogjava.net/NicholasEcho/archive/2008/08/15/222198.html