posts - 38,  comments - 22,  trackbacks - 0


          ? alloy的許可證分成四個部分,每個部分之間用#號分隔,第一部分是許可證過期時間,第二部分是用戶名,第三和第四部分是兩個36進制的整數(shù),其中第三部分是校驗碼,第四部分是一個隨機數(shù)(我是這么認(rèn)為的,第四部分寫死成一個常量也沒有什么關(guān)系)。 ?
          ? ? ? 好了,了解了許可證的構(gòu)造之后,我們來了解一下alloy檢驗許可證是否合法和過期的過程。 ?
          ? ? ? 一:分離許可證的各個部分。 ?
          ? ? ? 二:判斷日期部分的長度,如果長度大于1,就構(gòu)造一個過期時間,否則過期時間為null。(這下子我們就可以通過使日期部分的長度不超過1來讓alloy永不過期了^-^)。 ?
          ? ? ? 三:調(diào)用Long.parseLong(String, ? int)方法解析出第三和第四部分兩個36進制整數(shù)的10進制的值。 ?
          ? ? ? 四:使用java.util.zip.CRC32來計算校驗值,計算的過程是把從第四部分得到的10進值整數(shù)對127取模,然后加上第一、二兩個部分(包括中間的#號),這樣就構(gòu)造出一個字符串,然后調(diào)用CRC32.update()方法計算這個字符串的校驗值。 ?
          ? ? ? 五:使用getValue()方法從CRC32中取得校驗值,然后將這個校驗值與從第三部分獲得的10進制數(shù)值比較,如果相等,則校驗成功。隨后就是判斷當(dāng)前日期是否過期的操作了。 ?
          ? ? ? 這大致就是alloy驗證許可證的過程,我們反過來做一遍,就可以得到我們自己的許可證了。下面就是我寫的構(gòu)造許可證的方法,供大家參考。 ?
          ? ?
          ? public ? String ? generate(String ? user) ?
          ? { ?
          ? ? ? ? ? String ? exp ? = ? "x"; ?
          ? ? ? ? ? String ? rand ? = ? "torresg"; ?
          ? ? ? ? ? long ? l ? = ? Long.parseLong(rand, ? 36); ?
          ? ? ? ? ? CRC32 ? crc32 ? = ? new ? CRC32(); ?
          ? ? ? ? ? crc32.update((l ? % ? 127L ? + ? exp ? + ? "#" ? + ? user).getBytes()); ?
          ? ? ? ? ? String ? checksum ? = ? Long.toString(crc32.getValue(), ? 36); ?
          ? ? ? ? ? return ? exp ? + ? "#" ? + ? user ? + ? "#" ? + ? checksum ? + ? "#" ? + ? rand; ?
          ? } ?
          ? ?
          ? 另外就是過期時間不能為空,因為alloy中另外某個地方要對這個時間進行處理。為空的話也會驗證失敗。所以過期時間要使用一個長度為1的字符串。

          com.incors.plaf.alloy.AlloyLookAndFeel.setProperty("alloy.licenseCode",
          ????"v#ej_technologies#uwbjzx#e6pck8");
          ??try {
          ???javax.swing.LookAndFeel alloyLnF = new com.incors.plaf.alloy.AlloyLookAndFeel();

          ???javax.swing.UIManager.setLookAndFeel(alloyLnF);
          ??} catch (javax.swing.UnsupportedLookAndFeelException ex) {
          ???// You may handle the exception here
          ???ex.printStackTrace();
          ??}

          posted on 2007-01-11 11:00 aaabbb 閱讀(331) 評論(0)  編輯  收藏 所屬分類: Swing
          主站蜘蛛池模板: 德安县| 郁南县| 手游| 嵊州市| 裕民县| 满洲里市| 西藏| 探索| 自贡市| 毕节市| 安陆市| 台州市| 观塘区| 汤阴县| 赞皇县| 贵德县| 通许县| 屏东县| 岱山县| 金沙县| 金秀| 桦南县| 民县| 山丹县| 邢台市| 金华市| 利川市| 礼泉县| 前郭尔| 湾仔区| 大荔县| 临夏县| 龙陵县| 昭觉县| 云龙县| 博白县| 南陵县| 青龙| 嘉禾县| 福建省| 平凉市|