myeclipse6.0 序列号生成器源码
- import java.io.*;
- 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 Test() {
- 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();
- Test myeclipsegen = new Test();
- String res = myeclipsegen.getSerial(userId, "20");
- System.out.println("Serial:" + res);
- reader.readLine();
- } catch (IOException ex){
- }
- }
- }
myeclipse6.0 序列号生成器源码的更多相关文章
- Android7.0 Phone应用源码分析(二) phone来电流程分析
接上篇博文:Android7.0 Phone应用源码分析(一) phone拨号流程分析 今天我们再来分析下Android7.0 的phone的来电流程 1.1TelephonyFramework 当有 ...
- Android7.0 Phone应用源码分析(一) phone拨号流程分析
1.1 dialer拨号 拨号盘点击拨号DialpadFragment的onClick方法会被调用 public void onClick(View view) { int resId = view. ...
- robotlegs2.0框架实例源码带注释
robotlegs2.0框架实例源码带注释 Robotlegs2的Starling扩展 有个老外写了robotleges2的starling扩展,地址是 https://github.com/brea ...
- Android7.0 Phone应用源码分析(三) phone拒接流程分析
本文主要分析Android拒接电话的流程,下面先来看一下拒接电话流程时序图 步骤1:滑动按钮到拒接图标,会调用到AnswerFragment的onDecline方法 com.android.incal ...
- 购买的wemall 6.0商城系统源码分享
使用方法 1.解压目录 2.cd wemall6 && npm i 3.配置config下的config.json 4.npm start 摒弃以往的开发框架thinkphp,使用no ...
- Android7.0 Phone应用源码分析(四) phone挂断流程分析
电话挂断分为本地挂断和远程挂断,下面我们就针对这两种情况各做分析 先来看下本地挂断电话的时序图: 步骤1:点击通话界面的挂断按钮,会调用到CallCardPresenter的endCallClicke ...
- spring5.0.2.RELEASE源码环境构建
Spring5 源码下载注意事项 首先你的JDK 需要升级到1.8 以上.Spring3.0 开始,Spring 源码采用github 托管,不再提供官网下载链接.大家可自行去github 网站下载, ...
- spring-boot-2.0.3启动源码篇二 - run方法(一)之SpringApplicationRunListener
前言 Springboot启动源码系列还只写了一篇,已经过去一周,又到了每周一更的时间了(是不是很熟悉?),大家有没有很期待了?我会尽量保证启动源码系列每周一更,争取不让大家每周的期望落空.一周之中可 ...
- spring-boot-2.0.3启动源码篇 - 阶段总结
前言 开心一刻 朋友喜欢去按摩,第一次推门进来的是一个学生美眉,感觉还不错:后来经常去,有时是护士,有时是空姐,有时候是教师.昨天晚上推门进去的是一个女警察,长得贼好看,身材也很好,朋友嗷的一声就扑上 ...
随机推荐
- PL/0 词法分析器
PL/0 词法分析器 #include<stdio.h> #include <ctype.h> #include <stdlib.h> #include <s ...
- codeforces 711E E. ZS and The Birthday Paradox(数学+概率)
题目链接: E. ZS and The Birthday Paradox. time limit per test 2 seconds memory limit per test 256 megaby ...
- IL查看委托
查看委托的IL 通过IL来查看委托的原理, 委托示例代码 写一个委托的类如下 using System; namespace MyCollection { //定义一个类,该类包含两个静态方法 c ...
- vuejs过滤器
结合管道符 | {{messageOne | capitalize}} capitalize 首字母大写 {{messageOne | uppercase}} uppercase 大写字母 {{mes ...
- WinForm 快捷键设置
一.窗体快捷键,只在窗体上有效果 首先在form_load的时候写上this.KeyPreview=true;//表示窗体接受按键事件 然后如下 private void Frm_KeyDown(ob ...
- <global-results>
全局result(global-results)有很多时候一个<result>可供很多<action>使用,这时可以使用<global-results>标签来定义全 ...
- 022医疗项目-模块二:药品目录的导入导出-对XSSF导出excel类进行封装
资源全部来源于传智播客. 好的架构师写的程序,就算给刚入门的新手看,新手一看就知道怎么去用.所以我们要对XSSF导出excel类进行封装.这是架构师的工作,但我们也要知道. 我们写一个封装类: 这个类 ...
- 如何在Web服务器80端口上开启SSH服务
本文所讨论的网络端口复用并非指网络编程中采用SO_REUSEADDR选项的 Socket Bind 复用.它更像是一个带特定路由功能的端口转发工具,在应用层实现. 背景 笔者所处网络中防火墙只开放了一 ...
- Swift3.0 iOS获取当前时间 - 年月日时分秒星期
Swift3.0 iOS获取当前时间 - 年月日时分秒星期func getTimes() -> [Int] { var timers: [Int] = [] // 返回的数组 let calen ...
- WorldWind源码剖析系列:WorldWind实时确定、更新、初始化和渲染地形和纹理数据
WorldWind实时确定.更新.初始化和渲染地形和纹理数据 当用户点击WorldWind中的地球时,首先响应的是WorldWindow.OnPaint()函数,后续程序的调用流程如下图所示. 零散知 ...