代码改变世界

MyEclipse过期注册

2012-07-25 09:08  Patrick.Lee  阅读(357)  评论(0编辑  收藏  举报

package register;

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.";

    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) {

  }
 }
}

 

 

运行后效果如下:

 

 

修改String res = myeclipsegen.getSerial(userId, "20"); 中"20"为"0"可以变成Number of Licenses为Unlimited.

 

然后

 

然后将刚才生成的序列号输入

 

 

点击下面的Finish即可

代码测试过了,可行!

从Myeclipse--》subscription information 即可进入update subscription界面。

ok,现在可以了吧?恭喜你!