MyEclipse生成注册码

  今天正在使用的MyEclipse出现了使用过期,在网上发现一个可以生成注册码的程序,现在分享给各位。

/**
 * myEclipse生成注册码
 * 点击顶部:MyEclipse -->  subscription information  即可进入update subscription界面
 */
public class Test {
    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 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();         

            Test myeclipsegen = new Test();         

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

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

                reader.readLine();         

        } catch (IOException ex) {         
            System.out.println("出现异常");
        }         

    }         

}

 

posted @ 2016-09-01 11:19  小破孩123  阅读(439)  评论(0编辑  收藏  举报