来自网上的一个MyEclipse的java版的注册机。

package com.web;


import java.io.BufferedReader;


import java.io.IOException;


import java.io.InputStreamReader;






/**


 * 这是一个来自网上的一个MyEclipse的java版的注册机。



 * 示例结果:


 *


 * please input register name: admin_yong


 * Serial:nLR8ZC-855575-68655456975372753


 *


 */


public class Abc {


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


        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();


            Abc myeclipsegen = new Abc();


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


            // 注册号


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


            reader.readLine();


        } catch (IOException ex) {


        }


    }






}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值