myEclipse生成注册码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class MyEclipseGen {
 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.";      
 public String getSerial(String userId, String licenseNum) {
  java.util.Calendar cal = java.util.Calendar.getInstance();        
     cal.add(1, 3);        
     cal.add(6, -1);        
     java.text.NumberFormat nf = new java.text.DecimalFormat("000");        
     licenseNum = nf.format(Integer.valueOf(licenseNum));        
     String verTime = new StringBuilder("-").append(        
      new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime())) .append("0").toString();        
        String type = "YE3MP-";        
        String need = new StringBuilder(userId.substring(0, 1)).append(type)        
                                                 .append("300").append(licenseNum).append(verTime).toString();        
         String dx = new StringBuilder(need).append(LL).append(userId).toString();        
         int suf = this.decode(dx);        
         String code = new StringBuilder(need).append(String.valueOf(suf)).toString();        

                                 return this.change(code);        
                         }        
        private int decode(String s) {        

                                 int i;        

                                 char[] ac;        

                                 int j;        

                                 int k;        

                                 i = 0;        

                                 ac = s.toCharArray();        

                                 j = 0;        

                                 k = ac.length;        

                                 while (j < k) {        

                                         i = (31 * i) + ac[j];        

                                         j++;        

                                 }        

                                 return Math.abs(i);        

                         }        

                        

                      private String change(String s) {        

                                 byte[] abyte0;        

                                 char[] ac;        

                                 int i;        

                                 int k;        

                                 int j;        

                                 abyte0 = s.getBytes();        

                                 ac = new char[s.length()];        

                                 i = 0;        

                                 k = abyte0.length;        

                                 while (i < k) {        

                                         j = abyte0[i];        

                                         if ((j >= 48) && (j <= 57)) {        

                                                 j = (((j - 48) + 5) % 10) + 48;        

                                         } else if ((j >= 65) && (j <= 90)) {        

                                                 j = (((j - 65) + 13) % 26) + 65;        

                                         } else if ((j >= 97) && (j <= 122)) {        

                                                 j = (((j - 97) + 13) % 26) + 97;        

                                         }        

                                         ac[i] = (char) j;        

                                         i++;        

                                 }        

                                 return String.valueOf(ac);        

                         }        

                        

                         public MyEclipseGen() {        

                                 super();        

                         }        

                        

                         public static void main(String[] args) {        

                                 try {        

                                         System.out.println("please input register name:");        

                                         BufferedReader reader = new BufferedReader(new InputStreamReader(        

                                                         System.in));        

                                         String userId = null;        

                                         userId = reader.readLine();        

                                         MyEclipseGen myeclipsegen = new MyEclipseGen();        

                                         String res = myeclipsegen.getSerial(userId, "0");        

                                         System.out.println("Serial:" + res);        

                                         reader.readLine();        

                                 } catch (IOException ex) {        
                                 
                                 }        

                         }  
}

相关推荐