將以下MyEclipseGen.java類用JAVA編譯運行即可:
import java.io.*;</p><p>public class MyEclipseGen {<br /> private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";</p><p> public String getSerial(String userId, String licenseNum) {<br /> java.util.Calendar cal = java.util.Calendar.getInstance();<br /> cal.add(1, 3);<br /> cal.add(6, -1);<br /> java.text.NumberFormat nf = new java.text.DecimalFormat("000");<br /> licenseNum = nf.format(Integer.valueOf(licenseNum));<br /> String verTime = new StringBuilder("-").append(<br /> new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))<br /> .append("0").toString();<br /> String type = "YE3MP-";<br /> String need = new StringBuilder(userId.substring(0, 1)).append(type)<br /> .append("300").append(licenseNum).append(verTime).toString();<br /> String dx = new StringBuilder(need).append(LL).append(userId)<br /> .toString();<br /> int suf = this.decode(dx);<br /> String code = new StringBuilder(need).append(String.valueOf(suf))<br /> .toString();<br /> return this.change(code);<br /> }</p><p> private int decode(String s) {<br /> int i;<br /> char[] ac;<br /> int j;<br /> int k;<br /> i = 0;<br /> ac = s.toCharArray();<br /> j = 0;<br /> k = ac.length;<br /> while (j < k) {<br /> i = (31 * i) + ac[j];<br /> j++;<br /> }<br /> return Math.abs(i);<br /> }</p><p> private String change(String s) {<br /> byte[] abyte0;<br /> char[] ac;<br /> int i;<br /> int k;<br /> int j;<br /> abyte0 = s.getBytes();<br /> ac = new char[s.length()];<br /> i = 0;<br /> k = abyte0.length;<br /> while (i < k) {<br /> j = abyte0[i];<br /> if ((j >= 48) && (j <= 57)) {<br /> j = (((j - 48) + 5) % 10) + 48;<br /> } else if ((j >= 65) && (j <= 90)) {<br /> j = (((j - 65) + 13) % 26) + 65;<br /> } else if ((j >= 97) && (j <= 122)) {<br /> j = (((j - 97) + 13) % 26) + 97;<br /> }<br /> ac[i] = (char) j;<br /> i++;<br /> }<br /> return String.valueOf(ac);<br /> }</p><p> public MyEclipseGen() {<br /> super();<br /> }</p><p> public static void main(String[] args) {<br /> try {<br /> System.out.println("please input register name:");<br /> BufferedReader reader = new BufferedReader(new InputStreamReader(<br /> System.in));<br /> String userId = null;<br /> userId = reader.readLine();<br /> MyEclipseGen myeclipsegen = new MyEclipseGen();<br /> String res = myeclipsegen.getSerial(userId, "20");<br /> System.out.println("Serial:" + res);<br /> reader.readLine();<br /> } catch (IOException ex) {<br /> }<br /> }<br />}</p><p>
轉載於:http://www.cnblogs.com/imumu/archive/2009/07/22/1528811.html