posts - 38,  comments - 22,  trackbacks - 0


          ? alloy的許可證分成四個部分,每個部分之間用#號分隔,第一部分是許可證過期時間,第二部分是用戶名,第三和第四部分是兩個36進制的整數,其中第三部分是校驗碼,第四部分是一個隨機數(我是這么認為的,第四部分寫死成一個常量也沒有什么關系)。 ?
          ? ? ? 好了,了解了許可證的構造之后,我們來了解一下alloy檢驗許可證是否合法和過期的過程。 ?
          ? ? ? 一:分離許可證的各個部分。 ?
          ? ? ? 二:判斷日期部分的長度,如果長度大于1,就構造一個過期時間,否則過期時間為null。(這下子我們就可以通過使日期部分的長度不超過1來讓alloy永不過期了^-^)。 ?
          ? ? ? 三:調用Long.parseLong(String, ? int)方法解析出第三和第四部分兩個36進制整數的10進制的值。 ?
          ? ? ? 四:使用java.util.zip.CRC32來計算校驗值,計算的過程是把從第四部分得到的10進值整數對127取模,然后加上第一、二兩個部分(包括中間的#號),這樣就構造出一個字符串,然后調用CRC32.update()方法計算這個字符串的校驗值。 ?
          ? ? ? 五:使用getValue()方法從CRC32中取得校驗值,然后將這個校驗值與從第三部分獲得的10進制數值比較,如果相等,則校驗成功。隨后就是判斷當前日期是否過期的操作了。 ?
          ? ? ? 這大致就是alloy驗證許可證的過程,我們反過來做一遍,就可以得到我們自己的許可證了。下面就是我寫的構造許可證的方法,供大家參考。 ?
          ? ?
          ? 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 閱讀(327) 評論(0)  編輯  收藏 所屬分類: Swing
          主站蜘蛛池模板: 佛山市| 巴林右旗| 竹北市| 邢台县| 宁南县| 墨竹工卡县| 睢宁县| 吉安县| 乌拉特前旗| 宿州市| 龙岩市| 福鼎市| 乐都县| 白玉县| 喀喇沁旗| 康平县| 南充市| 资溪县| 古交市| 黄平县| 游戏| 天长市| 从江县| 镇沅| 神池县| 荣成市| 通许县| 城口县| 岑巩县| 雷山县| 泸西县| 麻栗坡县| 棋牌| 山丹县| 微博| 察雅县| 登封市| 高邑县| 凤庆县| 博爱县| 左权县|