Reprint: http://www.rover12421.com/2013/12/09/jetbrains-intellij-idea-13-keygen-java-source-code.html
JetBrains IntelliJ idea Keygen:
import java.math.biginteger;import java.util.date;import java.util.random;import java.util.zip.CRC32; Public classkeygen{/** * @param s * @param i * @param bytes * @return*/ Public Static ShortGETCRC (String S,intIbytebytes[]) {CRC32 CRC32=NewCRC32 (); if(s! =NULL) { for(intj =0; J < S.length (); J + +) { Charc =S.charat (j); Crc32.update (c); }} crc32.update (i); Crc32.update (i>>8); Crc32.update (i>> -); Crc32.update (i>> -); for(intK =0; K < Bytes.length-2; k++) { byteBYTE0 =Bytes[k]; Crc32.update (BYTE0); } return( Short) (int) Crc32.getvalue (); } /** * @param biginteger * @return String*/ Public StaticString encodegroups (BigInteger BigInteger) {BigInteger beginner1= Biginteger.valueof (0x39aa400l); StringBuilder SB=NewStringBuilder (); for(inti =0; Biginteger.compareto (biginteger.zero)! =0; i++) { intj =Biginteger.mod (beginner1). Intvalue (); String S1=Encodegroup (j); if(I >0) {sb.append ("-"); } sb.append (S1); BigInteger=biginteger.divide (Beginner1); } returnsb.tostring (); } /** * @param i * @return*/ Public StaticString Encodegroup (inti) {StringBuilder sb=NewStringBuilder (); for(intj =0; J <5; J + +) { intK = i% $; CharC; if(K <Ten) {C= (Char) ( -+k); } Else{C= (Char) (( $+ k)-Ten); } sb.append (c); I/= $; } returnsb.tostring (); } /** * @param name * @param days * @param ID * @param prtype * @return*/ Public StaticString Makekey (string name,intDaysintID) {ID%=100000; byteBkey[] =New byte[ A]; bkey[0] = (byte)1;//Product Type:intellij idea is 1bkey[1] = -;//versionDate d =NewDate (); LongLD = (D.gettime () >> -); bkey[2] = (byte) (LD &255); bkey[3] = (byte) (LD >>8) &255); bkey[4] = (byte) (LD >> -) &255); bkey[5] = (byte) (LD >> -) &255); days&=0xFFFF; bkey[6] = (byte) (Days &255); bkey[7] = (byte) ((Days >>8) &255); bkey[8] = the; bkey[9] = - -; bkey[Ten] =0; bkey[ One] =0; intw = GETCRC (name, id%100000, Bkey); bkey[Ten] = (byte) (W &255); bkey[ One] = (byte) (W >>8) &255); BigInteger POW=NewBigInteger ("89126272330128007543578052027888001981",Ten); BigInteger MoD=NewBigInteger ("86f71688cdd2612ca117d1f54bdae029", -); BigInteger K0=NewBigInteger (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); returnS0; } Public Static voidMain (string[] args) {if(Args.length = =0) {System.err.printf ("* * * Usage:%s name%n", Keygen.class. Getcanonicalname ()); System.exit (1); } Random R=NewRandom (); System. out. println (Makekey (args[0],0, R.nextint (100000))); }}
If you do not want to enter parameters, modify the main function:
Public Static void Main (string[] args) { new Random (); System. out 0, R.nextint (100000))); }
Go JetBrains IntelliJ idea Keygen (Java Source Code)