intellij idea 13注册key生成代码


package org.geksong.idea13keygen;
/******************************
* Create Time: 2013-12-24 下午5:39:54<br>
* Author: zs.zeng<br>
* File name: ProductType.java <br>
* Version: 1.0<br>
* Function: <br>
* Modify Time: 2013-12-24 下午5:39:54<br>
* Change Log:<br>
******************************************/
public enum ProductType {
IDEA(1);

private int id;

private ProductType(int id) {
this.id = id;
}

public int id() {
return this.id;
}

public static ProductType getProductType(String str) {
for (ProductType product : values())
if (product.toString().equalsIgnoreCase(str))
return product;
return null;
}
}


package org.geksong.idea13keygen;

import java.math.BigInteger;
import java.util.Date;
import java.util.Random;
import java.util.zip.CRC32;

/******************************
* Create Time: 2013-12-24 下午5:36:56<br>
* Author: zs.zeng<br>
* File name: Idea13KeyGen.java <br>
* Version: 1.0<br>
* Function: intellij 13注册码生成器<br>
* Modify Time: 2013-12-24 下午5:36:56<br>
* Change Log:<br>
******************************************/
public class Idea13KeyGen {
public static short getCRC(String s, int i, byte[] bytes)
{
CRC32 crc32 = new CRC32();
if (s != null) {
for (int j = 0; j < s.length(); j++) {
char c = s.charAt(j);
crc32.update(c);
}
}
crc32.update(i);
crc32.update(i >> 8);
crc32.update(i >> 16);
crc32.update(i >> 24);
for (int k = 0; k < bytes.length - 2; k++) {
byte byte0 = bytes[k];
crc32.update(byte0);
}
return (short)(int)crc32.getValue();
}

public static String encodeGroups(BigInteger biginteger)
{
BigInteger beginner1 = BigInteger.valueOf(60466176L);
StringBuilder sb = new StringBuilder();
for (int i = 0; biginteger.compareTo(BigInteger.ZERO) != 0; i++) {
int j = biginteger.mod(beginner1).intValue();
String s1 = encodeGroup(j);
if (i > 0) {
sb.append("-");
}
sb.append(s1);
biginteger = biginteger.divide(beginner1);
}
return sb.toString();
}

public static String encodeGroup(int i)
{
StringBuilder sb = new StringBuilder();
for (int j = 0; j < 5; j++) {
int k = i % 36;
char c;
if (k < 10)
c = (char)(48 + k);
else {
c = (char)(65 + k - 10);
}
sb.append(c);
i /= 36;
}
return sb.toString();
}

public static String MakeKey(String name, int days, int id, ProductType prtype)
{
id %= 10000;
byte[] bkey = new byte[12];
bkey[0] = ((byte)prtype.id());
bkey[1] = 13;

Date d = new Date();
long ld = d.getTime() >> 16;
bkey[2] = ((byte)(int)(ld & 0xFF));
bkey[3] = ((byte)(int)(ld >> 8 & 0xFF));
bkey[4] = ((byte)(int)(ld >> 16 & 0xFF));
bkey[5] = ((byte)(int)(ld >> 24 & 0xFF));

days &= 65535;
bkey[6] = ((byte)(days & 0xFF));
bkey[7] = ((byte)(days >> 8 & 0xFF));

bkey[8] = 105;
bkey[9] = -59;
bkey[10] = 0;
bkey[11] = 0;

int w = getCRC(name, id % 10000, bkey);
bkey[10] = ((byte)(w & 0xFF));
bkey[11] = ((byte)(w >> 8 & 0xFF));

BigInteger pow = new BigInteger("89126272330128007543578052027888001981", 10);
BigInteger mod = new BigInteger("86f71688cdd2612ca117d1f54bdae029", 16);
BigInteger k0 = new BigInteger(bkey);
BigInteger k1 = k0.modPow(pow, mod);
String s0 = Integer.toString(id);
String sz = "0";
while (s0.length() != 5) {
s0 = sz.concat(s0);
}
s0 = s0.concat("-");

String s1 = encodeGroups(k1);
s0 = s0.concat(s1);
return s0;
}

public static void main(String[] args) {
Random random = new Random();
String key = MakeKey("geksong", 0, random.nextInt(1000), ProductType.getProductType("IDEA"));
System.out.println(key);
}
}

intellij idea 13注册key生成代码,布布扣,bubuko.com

时间: 2024-10-17 22:40:52

intellij idea 13注册key生成代码的相关文章

java IntelliJ IDEA 13 注册码 IDEA序列号 License Key

java IntelliJ IDEA 13 注册码 IDEA序列号 License Key Username: [email protected] License: 282971-M1NWC-FP97E-MHFRO-UZQRY-F2WR0 java IntelliJ IDEA 13 注册码 IDEA序列号 License Key

?IntelliJ IDEA使用技巧—使用EasyCode插件一键生成代码04期

在现如今的软件开发过程中,软件开发人员将很多的精力放在重复的编码中.特别是流行的MVC架构模式下,项目各个层次的功能更加独立,这也间接的造成了代码的相似度更高.因此需要寻找一种可以减少软件开发人员重复编码的方式,让软件开发人员可以将更多的精力放在业务逻辑编码以及其他更具有价值的工作上. 今天小编向大家介绍一种一款IntelliJ IDEA上的免费开源插件EasyCode,可以方便的根据数据库生成相应的代码.实际就是利用逆向工程自动生成实体类和dao成的代码. EasyCode是基于Intelli

使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

原文:使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程) ?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4013535.html 联系方式:[email protected] [正文] [开发环境] 物理机版本:Win 7旗舰版(32位) Java SDK版本:jdk1.8.0_20(32位) Android SDK

(转)MyEclipse注册码生成代码

(本文出处转自http://www.blogjava.net/lishunli/archive/2010/01/07/308616.html) MyEclipse注册码网上到处都是,但是你想不想用你的名字来进行注册,而且想不想知道MyEclipse注册码到底是如何生成的?现在就让我来带你看看MyEclipse注册码是如何人性化的生成的. 代码如下: package org.usc.key.gen; import java.io.BufferedReader; import java.io.IOE

C#爬虫----Fiddler 插件开发 自动生成代码

哈喽^_^ 一般我们在编写网页爬虫的时候经常会使用到Fiddler这个工具来分析http包,而且通常并不是分析一个包就够了的,所以为了把更多的时间放在分析http包上,自动化生成封包代码就尤为重要了(其实之前已经有第三方的插件了,自己编写主要是为了适配自定义的http请求模块)! 首先注册拖拽事件 允许直接在Fiddler Session列表中拖入Session到插件界面 1 private void TrCode_Load(object sender, System.EventArgs e)

IntelliJ IDEA 13.x 下使用Hibernate + Spring MVC + JBoss 7.1.1

原文:IntelliJ IDEA 13.x 下使用Hibernate + Spring MVC + JBoss 7.1.1 从2004年开始做.NET到现在.直到最近要做一些JAVA的项目,如果说100个人写一篇关于.NET的文章,估计这10个人写的内容都是一样.但是如果说10个人写Java的文章,那真的是10个人10种写法.这就是最头痛的地方,开始学的时候真的很迷惑. 这里我们使用的是Hibernate 4.x + Spring MVC 3.x 1.建立一个Spring MVC的Project

intellij idea 13&amp;14 插件推荐及快速上手建议 (已更新!)

原文:intellij idea 13&14 插件推荐及快速上手建议 (已更新!) 早些年 在外企的时候,公司用的是intellij idea ,当时也是从eclipse.MyEclipse转过去的很是不习惯. 用了一周明显感觉爱上它了.因为它很智能,而且能纠正你很多不好的习惯. 后来跳巢到一家上市公司.因为大家都在用MyEclipse,要求开发工具统一.没办法只能转回MyEclipse.不过个人倒是一直关注intellij idea版本的发布和新的功能. 最近开始使用intellij idea

json 对c++类的序列化(自动生成代码)

[动机] 之前写网络协议的时候,使用的是google protobuf,protobuf不但在性能和扩展性上有很好的优势,protoc自动生成c++类代码的工具,这点确实给程序员带来了很多便利. 做后面一项目使用的json格式来传输,然后就萌生了实现像protoc这样的工具,根据json文件来生成c++类代码,并且生成序列化代码,这样在写网络的时候就无需把jsonvalue序列化散落在各处. [思路] 之前写object-c的时候,如果你要对类的序列化,你必须实现NSCoding协议(接口),

intellij idea 13 插件推荐及快速上手建议

早些年 在外企的时候,公司用的是intellij idea ,当时也是从eclipse.MyEclipse转过去的很是不习惯. 用了一周明显感觉爱上它了.因为它很智能,而且能纠正你很多不好的习惯. 后来跳巢到一家上市公司.因为大家都在用MyEclipse,要求开发工具统一.没办法只能转回MyEclipse.不过个人倒是一直关注intellij idea版本的发布和新的功能. 最近开始使用intellij idea 13 觉得比我当年用的 5要好上不少啊. 就是开着idea一段时间不用,然后机器待