博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JetBrains IntelliJ IDEA 13 Keygen
阅读量:5992 次
发布时间:2019-06-20

本文共 3498 字,大约阅读时间需要 11 分钟。

hot3.png

import java.math.BigInteger;import java.util.Date;import java.util.Random;import java.util.zip.CRC32;public class keygen{   /**    * @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    * @param prtype    * @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)   {       if (args.length == 0)       {           System.err.printf("*** Usage: %s name%n", keygen.class.getCanonicalName());           System.exit(1);       }       Random r = new Random();       System.out.println(MakeKey(args[0], 0, r.nextInt(100000)));   }}

转载于:https://my.oschina.net/kenshiro/blog/184467

你可能感兴趣的文章
图片无法显示,载入制定url失败
查看>>
如何在MAP/REDUCE中不检查输出路径?
查看>>
mysql replication(主从复制)(二)MSS模式
查看>>
APP-V序列化服务器部署,应用程序虚拟化部署笔记四
查看>>
一段查看终端端口的asp代码
查看>>
关闭默认共享-注册表-批处理
查看>>
apache_1.3.41+mysql-4.0.26+php-4.4.8+Redhat5 linux
查看>>
Hive查询失败:no LazyObject for VOID
查看>>
[积累]FitWidth ImageView和TopCrop ImageView
查看>>
在ubuntu 11.10 下安装谷歌输入法
查看>>
【小技巧】spring-MVC在controller层获取国际化文件信息
查看>>
C#遍历类的属性 PropertyInfo.Attributes
查看>>
前端Nginx,后端Apache获取用户真实IP地址
查看>>
Windows下的Redis安装教程
查看>>
box-sizing:border-box的强大之处?
查看>>
深入研究URL编码问题及JavaScript相应的解决方案
查看>>
coreseek/sphinx多条件字段查询
查看>>
常见的免费SMTP服务器有哪些,如何设置
查看>>
Pinyin4jUtil 汉字转拼音
查看>>
万能配置的大屏可视化功能来啦~
查看>>