posts - 495,comments - 227,trackbacks - 0
           1 import java.io.BufferedReader;
           2 import java.io.IOException;
           3 import java.io.InputStreamReader;
           4 import java.io.PrintStream;
           5 import java.text.DecimalFormat;
           6 import java.text.NumberFormat;
           7 import java.text.SimpleDateFormat;
           8 import java.util.Calendar;
           9 
          10 public class Myeclipse5_5_0_KeyMaker {
          11 
          12             private static final String L = "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.";
          13 
          14 
          15             public static void main(String args[]) {
          16         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
          17         String userId = null;
          18         int intLicenseNum = 1;
          19         String strLicenseNum = null;
          20         boolean bProFlag = true;
          21         String strProFlag = null;
          22         while (userId == null || "".equals(userId.trim()))  {
          23             System.out.print("Subscriber: ");
          24             try {
          25                 userId = br.readLine();
          26             }
          27             catch (IOException ioexception) { }
          28         }
          29         System.out.print("Number of licenses(default 1, max 999): ");
          30         try {
          31             strLicenseNum = br.readLine();
          32         }
          33         catch (IOException ioexception1) { }
          34         NumberFormat nf = new DecimalFormat("000");
          35         if (strLicenseNum == null || "".equals(strLicenseNum.trim())) {
          36             strLicenseNum = nf.format(intLicenseNum);
          37         } else {
          38             strLicenseNum = nf.format(Integer.parseInt(strLicenseNum));
          39         }
          40         System.out.print("Professional or Standard(default pro, n=stand): ");
          41         try {
          42             strProFlag = br.readLine();
          43         }
          44         catch (IOException ioexception2) { }
          45         if (strProFlag != null && !"".equals(strProFlag.trim())) {
          46             bProFlag = false;
          47         }
          48         Calendar cal = Calendar.getInstance();
          49         cal.add(12);
          50         cal.add(6-1);
          51         SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
          52         String need = userId.substring(01+ "Y" + (bProFlag ? "E3MP" : "E2MY"+ "-100" + strLicenseNum + "-" + sdf.format(cal.getTime()) + "0";
          53         String dx = need + "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." + userId;
          54         int suf = decode(dx);
          55         String code = need + suf;
          56         System.out.println("Subscription Code: " + change(code));
          57     }
          58 
          59     static int decode(String s) {
          60         int i = 0;
          61         char ac[] = s.toCharArray();
          62         int j = 0;
          63         for (int k = ac.length; j < k; j++) {
          64             i = 31 * i + ac[j];
          65         }
          66 
          67         return Math.abs(i);
          68     }
          69 
          70     static String change(String s) {
          71         if (s == null || s.length() == 0) {
          72             return s;
          73         }
          74         byte abyte0[] = s.getBytes();
          75         char ac[] = new char[s.length()];
          76         int i = 0;
          77         for (int k = abyte0.length; i < k; i++) {
          78             int j = abyte0[i];
          79             if (j >= 48 && j <= 57) {
          80                 j = ((j - 48+ 5% 10 + 48;
          81             } else
          82             if (j >= 65 && j <= 90) {
          83                 j = ((j - 65+ 13% 26 + 65;
          84             } else
          85             if (j >= 97 && j <= 122) {
          86                 j = ((j - 97+ 13% 26 + 97;
          87             }
          88             ac[i] = (char)j;
          89         }
          90 
          91         return String.valueOf(ac);
          92             }
          93 }


          說明:僅學習之用,如用做商業用途后果自負!!!!!!!!!!!!!!!!!!!!!
          posted on 2007-07-11 21:14 SIMONE 閱讀(754) 評論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 佛冈县| 金寨县| 霍城县| 门头沟区| 信阳市| 嘉义县| 河南省| 彰化县| 田林县| 石狮市| 兴海县| 邵武市| 襄城县| 琼结县| 循化| 始兴县| 金川县| 甘肃省| 攀枝花市| 德令哈市| 抚宁县| 南木林县| 安乡县| 阜宁县| 阿坝| 巴塘县| 华安县| 伽师县| 临清市| 健康| 烟台市| 当雄县| 汪清县| 简阳市| 外汇| 金溪县| 上思县| 东乌| 历史| 准格尔旗| 上犹县|