//代码如下:

package com.qls.AddingMethodsToAnEnum;

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.";//定义一个String字符串
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");
System.out.println("Serial:" + res); //输出序列号信息
reader.readLine();
} catch (IOException ex) {

}
}
}/*Output:
please input register name:
qls
Serial:dLR8ZC-855575-6467545057916336
*///:~

最新文章

  1. centos在线安装svn
  2. PHPer不能不看的50个细节!
  3. plist文件的读取和xib加载cell
  4. 汇编语言学习与Makefile入门
  5. UISearchController
  6. loopback 05
  7. 小希的数表2(用的for循环)
  8. wp仿系统截图
  9. Android dialog 不消失
  10. C语言练手自己编写学生成绩管理系统
  11. ListView显示多种类型的item
  12. 【CJOJ P1333】【HNOI2012】矿场搭建
  13. CentOS 7 MySql 解压版安装配置
  14. Java中的instanceof和isInstance基础讲解
  15. Python爬虫:更加优雅的执行JavaScript(PyV8)
  16. 特殊字符url编码以后再解码后出现错误(&amp;not , &amp;cent, &amp;curren, &amp;pound)
  17. Chrome 启动参数列表
  18. Spring中集合注入方法
  19. [Apache]网站页面静态化与Apache调优(图)
  20. Qt Creator build遇到error lnk1158 无法运行rc.exe

热门文章

  1. layer 点击弹出图片
  2. scapy--初识
  3. 内置函数系列之 filter
  4. 【Effective C++ 读书笔记】条款03: 尽量使用 const
  5. 10,knn手写数字识别
  6. Dapper.Extension的基本使用
  7. android 布局preview 技巧
  8. python 表格存取方法(转)
  9. 接口&amp;抽象类&amp;继承&amp;父类和子类
  10. [转]Android进程间通信--消息机制及IPC机制实现