Chinaunix首页 | 论坛 | 博客
  • 博客访问: 20721
  • 博文数量: 3
  • 博客积分: 85
  • 博客等级: 民兵
  • 技术积分: 35
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-10 16:31
文章分类

全部博文(3)

文章存档

2011年(3)

我的朋友

分类: Java

2011-11-22 17:32:24

只要运行该类,在控制台输入用户名(随意),回车后控制台将自动打印出注册码,测试myeclipse7.1,操作系统winxp SP3。测试通过!

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 (). 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(1, 3);
  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(0, 1)).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. }
阅读(1044) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Oracle GoldenGate和Dataguard以及stream复制的区别

给主人留下些什么吧!~~