myeclipse登録クラス


このクラスを実行する限り、コンソールにユーザー名を入力(勝手に)、車に戻った後、コンソールは自動的に登録コードを印刷し、myeclipse 7をテストする.1,オペレーティングシステムwinxp SP 3.テストに合格しました!please input register name: zxf261 Serial:mLR8ZC-855575-67516256535054053
ソースコードは次のとおりです.
 

  
  
  
  
  1. package com.zxf261;  
  2. import java.io.*;  
  3. public class MyEclipseGen {  
  4. 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.";  
  5. public String getSerial(String userId, String licenseNum) {  
  6. java.util.Calendar cal = java.util.Calendar.getInstance();  
  7. cal.add(13);  
  8. cal.add(6, -1);  
  9. java.text.NumberFormat nf = new java.text.DecimalFormat("000");  
  10. licenseNum = nf.format(Integer.valueOf(licenseNum));  
  11. String verTime = new StringBuilder("-").append(new java.text.  
  12. SimpleDateFormat("yyMMdd").format(cal.getTime())).append("0").  
  13. toString();  
  14. String type = "YE3MP-";  
  15. String need = new StringBuilder(userId.substring(01)).append(type).  
  16. append("300").append(licenseNum).append(verTime).toString();  
  17. String dx = new StringBuilder(need).append(LL).append(userId).toString();  
  18. int suf = this.decode(dx);  
  19. String code = new StringBuilder(need).append(String.valueOf(suf)).  
  20. toString();  
  21. return this.change(code);  
  22. }  
  23. private int decode(String s) {  
  24. int i;  
  25. char[] ac;  
  26. int j;  
  27. int k;  
  28. i = 0;  
  29. ac = s.toCharArray();  
  30. j = 0;  
  31. k = ac.length;  
  32. while (j < k) {  
  33. i = (31 * i) + ac[j];  
  34. j++;  
  35. }  
  36. return Math.abs(i);  
  37. }  
  38. private String change(String s) {  
  39. byte[] abyte0;  
  40. char[] ac;  
  41. int i;  
  42. int k;  
  43. int j;  
  44. abyte0 = s.getBytes();  
  45. ac = new char[s.length()];  
  46. i = 0;  
  47. k = abyte0.length;  
  48. while (i < k) {  
  49. j = abyte0[i];  
  50. if ((j >= 48) && (j <= 57)) {  
  51. j = (((j - 48) + 5) % 10) + 48;  
  52. else if ((j >= 65) && (j <= 90)) {  
  53. j = (((j - 65) + 13) % 26) + 65;  
  54. else if ((j >= 97) && (j <= 122)) {  
  55. j = (((j - 97) + 13) % 26) + 97;  
  56. }  
  57. ac[i] = (char) j;  
  58. i++;  
  59. }  
  60. return String.valueOf(ac);  
  61. }  
  62. public MyEclipseGen() {  
  63. super();  
  64. }  
  65. public static void main(String[] args) {  
  66. try {  
  67. System.out.println("please input register name:");  
  68. BufferedReader reader = new BufferedReader(new InputStreamReader(  
  69. System.in));  
  70. String userId = null;  
  71. userId = reader.readLine();  
  72. MyEclipseGen myeclipsegen = new MyEclipseGen();  
  73. String res = myeclipsegen.getSerial(userId, "20");  
  74. System.out.println("Serial:" + res);  
  75. reader.readLine();  
  76. catch (IOException ex) {  
  77. }  
  78. }  
  79. }