编译下面的代码生成uern ame 和 lincense key

package com.sfz.javatest.tools;

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

/**
 * Created with IntelliJ IDEA.
 * User: SFZ
 * Date: 17-2-28
 * Time: 下午9:15
 * To change this template use File | Settings | File Templates.
 */

public class IDEACode {
    /**
     * @param s
     * @param i
     * @param bytes
     * @return
     */
    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();
    }

/**
     * @param biginteger
     * @return String
     */
    public static String encodeGroups(BigInteger biginteger)
    {
        BigInteger beginner1 = BigInteger.valueOf(0x39aa400L);
        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();
    }

/**
     * @param i
     * @return
     */
    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();
    }

/**
     * @param name
     * @param days
     * @param id
     * @return
     */
    public static String MakeKey(String name, int days, int id)
    {
        id %= 100000;
        byte bkey[] = new byte[12];
        bkey[0] = (byte) 1; // Product type: IntelliJ IDEA is 1
        bkey[1] = 13; // version
        Date d = new Date();
        long ld = (d.getTime() >> 16);
        bkey[2] = (byte) (ld & 255);
        bkey[3] = (byte) ((ld >> 8) & 255);
        bkey[4] = (byte) ((ld >> 16) & 255);
        bkey[5] = (byte) ((ld >> 24) & 255);
        days &= 0xffff;
        bkey[6] = (byte) (days & 255);
        bkey[7] = (byte) ((days >> 8) & 255);
        bkey[8] = 105;
        bkey[9] = -59;
        bkey[10] = 0;
        bkey[11] = 0;
        int w = getCRC(name, id % 100000, bkey);
        bkey[10] = (byte) (w & 255);
        bkey[11] = (byte) ((w >> 8) & 255);
        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)
    {
        String name = "dev";
        Random r = new Random();
        System.out.println("regName:"+name);
        System.out.println("regCode:"+MakeKey(name, 0, r.nextInt(100000)));
    }
}

解决IDEA IntelliJ注册码冲突的问题相关推荐

  1. SpringBoot多线程环境下,解决多个定时器冲突问题

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/cssnnd/article/details/108328942 战术分析: 实际开发项目中一定不 ...

  2. Maven解决jar包版本冲突

    jar冲突原因: jar包冲突主要是由于依赖传递导致的,不同的jar包依赖同一个不同版本的jar包,导致冲突.可以看下下图. B和C都依赖D,但是不同的版本,所以在使用的过程中可能会出现问题. 依赖调 ...

  3. 解决在 IntelliJ IDEA 中,输入代码时突然不会自动显示下拉框提示

    解决在 IntelliJ IDEA 中,输入代码时突然不会自动显示下拉框提示 笔者的运行环境: IntelliJ IDEA 2020.1.2 (Ultimate Edition) JDK 13.0.2 ...

  4. Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测)、链地址法、再哈希、建立公共溢出区

    Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测).链地址法.再哈希.建立公共溢出区 参考文章: (1)Java解决Hash(散列)冲突的四种方法--开放地址法 ...

  5. 解决visio和office365冲突,无法安装visio问题

    本教程用于解决office365和visio冲突,无法安装visio问题 目前系统中已经安装Office365 尚未安装visio专业版本 1.下载office增强工具. office增强工具下载地址 ...

  6. IP地址冲突怎么办? 如何解决局域网IP地址冲突?

    IP地址冲突怎么办? 如何解决局域网IP地址冲突? 在同一个局域网里如果有两个用户同时使用了相同的IP地址,或者一个用户已经通过DHCP得到了一个IP地址,而此时又有其他用户以手工分配方式设定了与此相 ...

  7. Springboot定时器多线程解决多个定时器冲突问题

    使用场景 : 我们的订单服务,一般会有一个待支付订单,而这个待支付订单是有时间限制的,比如阿里巴巴的订单是五天,淘宝订单是一天,拼多多订单是一天,美团订单是15分钟- 基金系统中,如何同时更新多个存储 ...

  8. 解决Eclipse SVN文件冲突详解

    在使用Eclipse SVN插件进行团队开发的过程,假设开发人员A和B都获取了同一个文件的最新版本(假如版本号为8),并都对其进行了改动,成员A已经提交了自己所作的改动(版本号变为9),如果此时成员B ...

  9. 三大方案解决了Intellij IDEA 2017/2018.1.5 输入法 不跟随

    彻底解决了Intellij IDEA 2017.2 2018.1.5 中文无法输入及中英文没法自由切换的问题 对于idea无法输入中文,中文输入法时只停留在第一个拼音字母的界面的问题,有很多种解决方案 ...

最新文章

  1. 和至少为k的最短子数组 python_LeetCode 862. 和至少为 K 的最短子数组
  2. 数据结构复习:单链表
  3. 算法--------设计哈希集合
  4. html5 canvas 不兼容safari浏览器_HTML5的介绍
  5. aes模式_AES的完整形式是什么?
  6. c#中重载单目运算符-_C#程序重载二进制运算符(-,*,/)
  7. php5.6 pdo.dll 没有,php5.6没有pdo怎么办
  8. FastCGI - Getting Request URI and Content in C++ FCGI
  9. 算法:线性时间选择_机器学习必修课!scikit-learn 支持向量机算法库使用小结
  10. Spring学习之AOP
  11. Jquery第二章appendTo方法到方法的使用练习第二节
  12. html 获取当前url,js获取当前页面url信息的方法
  13. Vue组件动态(异步)传值
  14. 如何去掉高CAD选择集对话框(高版本才有)
  15. 清除系统垃圾脚本 windows
  16. 电脑无法连接wifi得解决方法
  17. 欧冠超级计算机,超级计算机预测欧冠决赛:红军65%概率夺冠 萨拉赫最可能进球...
  18. Opencv-python 求原坐标点透视变换后对应坐标点
  19. redo和undo日志
  20. JS 事件冒泡、捕获。学习记录

热门文章

  1. $(document).click()在iPhone上无法正常工作jQuery
  2. linux添加额外ip,CentOS7添加多个IP方法
  3. 脸书正面临信用破产危机
  4. python编程教学基本语法教学视频_Python编程学习#Python视频课程#全民一起玩Python 基础+提高...
  5. 日志文件转运工具Filebeat笔记|万字长文
  6. Stardock.SoundPackager.v1.2-LiGHTHELL
  7. Multisim仿真——二极管实现与门、或门
  8. Cadence Orcad Capture 原理图设置标题框的方法
  9. 什么是fbclid?新的facebook参数?
  10. 解压GitHub压缩文件