import java.math.BigInteger; import java.util.Date; import java.util.Random; import java.util.zip.CRC32; public class Sn { /** * @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] = 14; // 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", Test.class.getCanonicalName()); // System.exit(1); // } int i=0; int a = i +5; Random r = new Random(); System.out.println(MakeKey("weg", 0, r.nextInt(100000))); } }
相关推荐
"ideal 6410 GPIO演示代码" 指的是一个与Ideal 6410处理器相关的GPIO(General Purpose Input/Output)的示例代码。GPIO是微控制器或处理器中用于与其他硬件设备通信的接口,能够设置为输入或输出模式,以控制外部...
"ideal的IDE"是一款备受开发者推崇的集成开发环境(Integrated Development Environment),尤其在处理Java、Python、Scala等多语言开发时表现出色。虽然它自称为“史上第二好的IDE”,但其功能强大、性能优秀,足以...
在IT行业中,我们经常遇到各种工具和插件来优化我们的工作流程,其中之一就是"ideal插件"。这个插件在处理时间相关的问题时显得尤为重要,尤其是在编程和开发环境中。"ideal插件解决时间问题"这一标题揭示了它在管理...
Ideal(可能是指IDEAL,一个编程环境或工具)与Spring框架结合,可以帮助开发者更有效地开发Web服务。下面将详细讨论Spring框架的核心组件和其在Web服务开发中的应用。 首先,Spring框架是一个开源的Java平台,它...
《理想图片滑动插件——Ideal Image Slider》 在网页设计和开发中,图片滑动插件是一个不可或缺的元素,它能以优雅的方式展示多张图片,提升用户体验。"Ideal Image Slider" 就是一款专为JavaScript爱好者打造的、...
matlab ideal low pass filter
I In any cyclotomic ring, Ring-LWE is pseudorandom if ideal lattice problems are (quantumly) hard in the worst case. I Ring-LWE allows for much more compact and efficient encryption schemes than ...
理想低通滤波器滤波器截止角频率wc,阶数Me
在IT行业中,集成开发环境(Integrated Development Environment,简称IDE)是程序员进行软件开发的重要工具,而IntelliJ IDEA(简称ideal)就是其中的一款著名Java IDE。对于初学者或需要在Windows 7系统中使用Java...
ideal安装之后配置的git资源:下载解压缩之后配置到idea里面。
完成GLONASS导航信号L1、L2、L3的信号仿真
"ideal 翻译插件"是一款在IT领域广受欢迎的翻译工具,尤其适用于程序员和IT专业人士。这个插件以其高效、精准和用户友好的特性,成为许多人在处理多语言编程、阅读技术文档或者交流时的首选。下面将详细介绍这款翻译...
"ideal的主题jar包"是一个专为ideal应用设计的定制化主题资源库,它包含了各种界面样式、颜色配色方案以及可能的图标和其他视觉元素。在Java或相关的开发环境中,jar(Java Archive)文件是一种标准的归档格式,用于...
6. **文档编写**:"Ideal low-pass filter.docx"可能是对以上过程的详细描述,包括理论背景、MATLAB代码示例以及实验结果分析。阅读该文档将有助于深入理解理想低通滤波器的设计和实现。 理想低通滤波器虽然在理论...
### 理想运算放大器(Ideal Operational Amplifier) #### 预览 运算放大器(简称运放或Op-Amp)是一种能够放大两个输入电压之间的差异并产生一个输出信号的集成电路(IC)。在模拟电子领域中,它是一种非常常用的...
Yasunori Goto / QI Fuli Linux Development Division Fujitsu Limited 2018内核开发者大会
标题“duoxiangliu_CFD_IDEAL_”似乎涉及到CFD(计算流体动力学)中的一个特定概念或工具,与IDEAL(可能是“Ideal”或“ID-EAL”,表示理想化或理想的)有关。描述提到“由于CO2在临界点附近及超临界区域的低压缩...
Write MATLAB code that will perform frequency domain filtering ...(a) Ideal LPF. (b) Butterworth LPF. (c) Gaussian LPF. (d) Ideal HPF. (e) Butterworth HPF. (f) Gaussian HPF. (g) Homomorphic filtering.
安装将 spree_ideal 添加到您的 Gemfile 中: gem 'spree_ideal' , :git => 'git://github.com/arein/spree_ideal.git' 对于特定版本使用适当的分支,例如 gem 'spree_ideal' , :git => 'git://github....
**Laravel 开发与 ideal-postcodes-laravel** 在 Laravel 框架的开发过程中,有时候我们需要集成第三方服务来增强应用的功能。`ideal-postcodes-laravel` 是一个专门为 Laravel 设计的包,它允许开发者轻松地与 ...