Myeclipse中生成subscription code的代码
//代码如下:
package com.qls.AddingMethodsToAnEnum;
import java.io.*; 
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.";//定义一个String字符串   
   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, "20");   
           System.out.println("Serial:" + res); //输出序列号信息  
           reader.readLine();   
       } catch (IOException ex) {   
        
       }   
   }   
}/*Output:
please input register name:
qls
Serial:dLR8ZC-855575-6467545057916336
*///:~
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号