<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    李順利
    隨筆-50  評(píng)論-170  文章-0  trackbacks-0

    MyEclipse注冊(cè)碼生成代碼

    關(guān)鍵字:MyEclipse 注冊(cè)碼 代碼 Java 生成 Key Subscription李順利

    MyEclipse注冊(cè)碼網(wǎng)上到處都是,但是你想不想用你的名字來(lái)進(jìn)行注冊(cè),而且想不想知道MyEclipse注冊(cè)碼到底是如何生成的?現(xiàn)在就讓我來(lái)帶你看看MyEclipse注冊(cè)碼是如何人性化的生成的。

    代碼如下:

    package org.usc.key.gen;

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    import java.util.Scanner;

    /**

    * MyEclipse(8.0,7.5,7.0,6.5,6.0...)的注冊(cè)碼生成代碼

    *

    *

    * @author ShunLi

    * @Time 2009-12-25

    */

    public class MyEclipseKeyGen

    {

    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.";

    public MyEclipseKeyGen()

    {

    }

    /**

    * 具體的Subscription Code生成算法

    *

    * @param userId

    * (Subscriber)

    * @param licenseNum

    * @return Subscription Code

    */

    public String getSerial(String subscriber, String licenseNum)

    {

    java.util.Calendar cal = java.util.Calendar.getInstance();// 獲得當(dāng)前日期

    cal.add(1, 3);// +3年

    cal.add(6, -1);// 當(dāng)前日-1

    java.text.NumberFormat nf = new java.text.DecimalFormat("000");

    licenseNum = nf.format(Integer.valueOf(licenseNum));// licenseNum格式化成三位數(shù)字

    String verTime = new StringBuilder("-").append(

    new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))

    .append("0").toString();// 日期

    String type = "YE3MP-";

    String need = new StringBuilder(subscriber.substring(0, 1))

    .append(type).append("300").append(licenseNum).append(verTime)

    .toString();// 初步注冊(cè)信息

    String dx = new StringBuilder(need).append(LL).append(subscriber)

    .toString();

    int suf = this.decode(dx);// 編碼初步注冊(cè)信息

    String code = new StringBuilder(need).append(String.valueOf(suf))

    .toString();

    return this.change(code);

    }

    private int decode(String s)

    {

    int i;

    char[] ac;

    int j;

    int k;

    i = 0;

    ac = s.toCharArray();// 把s轉(zhuǎn)化為單個(gè)字符數(shù)組

    j = 0;

    k = ac.length;

    while (j < k)

    {

    i = (31 * i) + ac[j];//加密算法,不理解為什么這樣子?有可能就是這樣子定義的

    j++;

    }

    System.out.println();

    return Math.abs(i);//取絕對(duì)值

    }

    /**

    * 變化原則是

    * 把數(shù)字(10個(gè))或者字母表(大小寫個(gè)26個(gè))折半對(duì)調(diào)(兩個(gè)相互改變),也即

    * 0與5對(duì)調(diào)(0變5,5變0)

    * A與N,a與n對(duì)調(diào)

    * @param 原字符串

    * @return 變化后的字符串

    */

    private String change(String s)

    {

    byte[] abyte0;

    char[] ac = null;

    int i;

    int k;

    int j;

    abyte0 = s.getBytes();

    ac = new char[abyte0.length];

    i = 0;

    k = abyte0.length;

    while (i < k)

    {

    j = abyte0[i];

    if ((j >= 48) && (j <= 57))// 0-9,實(shí)現(xiàn)01234和56789相應(yīng)的相互對(duì)調(diào),也即0與5對(duì)調(diào),1與6對(duì)調(diào)

    {

    j = (((j - 48) + 5) % 10) + 48;

    } else if ((j >= 65) && (j <= 90))// A-Z

    {

    j = (((j - 65) + 13) % 26) + 65;

    } else if ((j >= 97) && (j <= 122))// a-z

    {

    j = (((j - 97) + 13) % 26) + 97;

    }

    ac[i] = (char) j;

    i++;

    }

    return String.valueOf(ac);

    }

    /**

    * 主方法,首先調(diào)用,產(chǎn)生注冊(cè)碼(Subscription Code)

    *

    * @param args

    */

    public static void main(String[] args)

    {

    // 輸入中文會(huì)出現(xiàn)一些中文亂碼問題

    // 輸入中文,一個(gè)是由于工程設(shè)置的字符集有可能會(huì)出現(xiàn)亂碼,第二個(gè)是后面的getBytes對(duì)不同的字符會(huì)出現(xiàn)不同的處理形式而導(dǎo)致的中文亂碼

    // 所以大家也就沒有辦法設(shè)置中文用戶名了,如果有高手解決了,請(qǐng)通知我(QQ:506817493,E:leeshunli@qq.com),謝謝

    System.out.print("請(qǐng)輸入注冊(cè)的用戶名(不支持中文):");

    Scanner scanner = new Scanner(System.in);//輸入流

    String subscriber = scanner.nextLine();//讀下一行字符串

    MyEclipseKeyGen myeclipseKeyGen = new MyEclipseKeyGen();//實(shí)例化

    String subscription_Code = myeclipseKeyGen.getSerial(subscriber, "1");// 后面的參數(shù)是一個(gè)數(shù)字類型的字符串,數(shù)字范圍為0-999

    System.out.println("\n" + "MyEclipse注冊(cè)碼生成的結(jié)果如下" + "\n");

    System.out.println("Subscriber:" + subscriber);

    System.out.println("Subscription Code:" + subscription_Code);

    /**

    * 下面的是JDK1.5以前的寫法,JDK1.5及以上版本的請(qǐng)看上面更好的寫法

    */

    /*

    * BufferedReader reader = null; try {

    * System.out.println("請(qǐng)輸入注冊(cè)的用戶名(不支持中文):"); reader = new

    * BufferedReader(new InputStreamReader(System.in)); String subscriber =

    * null; subscriber = reader.readLine(); System.out.println(subscriber);

    *

    * MyEclipseKeyGen myeclipseKeyGen = new MyEclipseKeyGen(); String

    * subscription_Code = myeclipseKeyGen.getSerial(subscriber, "1");//

    * 后面的參數(shù)是一個(gè)數(shù)字類型的字符串,數(shù)字范圍為0-999 // System.out.println("注冊(cè)生成的結(jié)果如下");

    * System.out.println("Subscriber:" + subscriber);

    * System.out.println("Subscription Code:" + subscription_Code);

    * reader.readLine();

    *

    * } catch (IOException ex) { ex.printStackTrace(); } finally { if

    * (reader != null) { try { reader.close(); } catch (IOException e) {

    * e.printStackTrace(); } reader = null; } }

    */

    }

    }

    生成注冊(cè)碼測(cè)試:

    clip_image002

    請(qǐng)輸入注冊(cè)的用戶名(不支持中文):ShunLi

    MyEclipse注冊(cè)碼生成的結(jié)果如下

    Subscriber:ShunLi

    Subscription Code:FLR8ZC-855556-67677956505812246

    如何注冊(cè)?

    選擇:MyEclipse->Subscription Information...,在把剛生成的注冊(cè)碼對(duì)應(yīng)填入

    clip_image004

    (由于我已經(jīng)注冊(cè)調(diào)試成功,可能截圖有點(diǎn)不一樣,請(qǐng)諒解),注冊(cè)三年(你三年不重裝電腦或其他情況真的很少了)。

    注:本程序借鑒網(wǎng)上,自己加了些自己的想法和注釋,并做了一些改進(jìn),本人QQ:506817493,歡迎大家一起交流學(xué)習(xí)。

    順利寫于2009年12月25日

    博客中的一些下載已經(jīng)放到了百度云了,請(qǐng)根據(jù)需要下載。【點(diǎn)我去百度云下載】

    最后弱弱地說一下,如果可以的話,轉(zhuǎn)載請(qǐng)?zhí)峁┏鎏? ),謝謝。

    posted on 2010-01-07 21:24 李順利 閱讀(18967) 評(píng)論(5)  編輯  收藏

    評(píng)論:
    # re: MyEclipse注冊(cè)碼生成代碼 2012-06-16 10:25 | TT
    # re: MyEclipse注冊(cè)碼生成代碼 2013-03-08 16:29 | 啊啊啊
    編譯好后把代碼沾上去發(fā)現(xiàn)他還呀active
      回復(fù)  更多評(píng)論
      
    # re: MyEclipse注冊(cè)碼生成代碼 2013-08-24 10:12 | 高根
    安師大的  回復(fù)  更多評(píng)論
      
    # re: MyEclipse注冊(cè)碼生成代碼 2013-10-26 19:14 | mr
    好厲害  回復(fù)  更多評(píng)論
      
    # re: MyEclipse注冊(cè)碼生成代碼[未登錄] 2014-05-22 16:14 | x
    cgvnmv bnnv  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。

    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 一区免费在线观看| 人人爽人人爽人人片av免费| 精品成人免费自拍视频| 亚洲精品国产电影| 成人精品综合免费视频| 亚洲Av无码国产情品久久| 免费人成网站永久| 四虎影视精品永久免费| 福利片免费一区二区三区| 四虎永久成人免费| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 在线亚洲97se亚洲综合在线| 国产成人亚洲精品影院| 一级毛片高清免费播放| 亚洲日韩在线观看免费视频| 不卡视频免费在线观看| 亚洲性猛交XXXX| 国产精品区免费视频| 亚洲男人的天堂在线播放| 国产精品成人观看视频免费| 亚洲国产成人精品无码区在线秒播| 成人免费视频77777| 亚洲爆乳少妇无码激情| 亚洲欧洲久久av| 大地资源在线资源免费观看 | 91av免费在线视频| 日本亚洲视频在线 | 久久精品国产精品亚洲毛片| 91精品免费久久久久久久久| 中文字幕亚洲码在线| 国产高清免费在线| 最新亚洲成av人免费看| 久久综合亚洲色HEZYO社区| 无码高潮少妇毛多水多水免费| 日本一区二区三区日本免费| 成人福利在线观看免费视频| 亚洲av日韩av无码| 性感美女视频在线观看免费精品 | 国产a视频精品免费观看| 亚洲码和欧洲码一码二码三码| 亚洲免费一区二区|