1 package com.gen; 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 90 }