zoukankan      html  css  js  c++  java
  • Eclipse验证码

    package MyEclipse;
    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, "20"); //无限制版将20改成0
                System.out.println("Serial:" + res);
                reader.readLine();
            } catch (IOException ex) {
            }
        }
    }
  • 相关阅读:
    xrange和range区别
    bool([x]) 将x转换为Boolean类型
    bin(x) 将整数x转换为二进制字符串
    chr(i) 返回整数i对应的ASCII字符
    音乐欣赏
    迅雷下载百度云引发的“事故”
    swift获取图片路径出错
    记号笔写在白板上引起的尴尬而又无奈的事件
    swift 3新特性总结
    watch
  • 原文地址:https://www.cnblogs.com/duyinqiang/p/5161038.html
Copyright © 2011-2022 走看看