- import java.io.*;
-
- public class name {
- 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 (). 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 name() {
- 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();
- name myeclipsegen = new name();
- String res = myeclipsegen.getSerial(userId, "20");
- System.out.println("Serial:" + res);
- reader.readLine();
- } catch (IOException ex) {
- }
- }
- }
运行代码 控制台提示输入用户名 输入即可得到序列号
阅读(2011) | 评论(0) | 转发(0) |