2011-05-25 45 views
0

我正在創建一個「許可證」文件的程序。此文件預計爲二進制文件,包含名稱,當天日期,警告日期,到期日期以及度量或英制度量單位的偏好,並且實質上授權程序工作直至到達過期日期,在此之前警告日期通知用戶許可證將過期。爲了充分利用此功能,日期不能很容易地編輯,以防止人們將日期設置爲任何他們想要的並保持該程序。寫入二進制文件在Visual Basic中的意圖不可讀

我現在已經從一個字符串或整成什麼,當我使用它「寫」的方法的BinaryWriter類認爲應該寫寫入每個字段。我一直在試驗Big和Little Endian編碼之間的區別,它可以在表單中選擇。

[代碼刪節]

如果輸入的名稱沒有空格,文件看起來有點難懂,但還遠遠不夠。隨着Big Endian,大部分到期日仍在顯示;用Little Endian,其他兩個日期大多可見。但是,在輸入的名稱中使用空格會稍微改變輸出文本的格式,從而使所有字符都被空格消除,因此非常容易更改。我很抱歉,我實際上無法向您展示這些文件的外觀。

是否有更好/更可接受的方式來存儲這些數據?我希望許可證文件能夠與現有的FORTRAN程序一起工作,其中讀取了我詳細介紹的通用結構中的未格式化文件,但是反向工程這聽起來有點困難,這與我讀過的和我的僱主提供的重寫FORTRAN文件接受這個新的許可證創建程序,如果需要的話。

我見過

回答

1

以文本形式創建許可證結構,包含所需的任何數據(XML是一種方便的格式)。

使用公鑰加密(使用您的私鑰)對其進行加密。

將公鑰嵌入到您的應用中。使用公鑰解密許可證文件。根據需要處理它。

簡單!

0

大多數的註冊管理趨向於純文本顯示的許可信息,其次是校驗碼,該程序檢查對,最有可能與其他一些隨機的東西散列數據。這提供了具有人類可讀的許可證文件而難以改變的好處。

注意,許可證管理像這些都會讓隨意複製困難,但有人決心無證運行您的程序仍然可以用反彙編器和一些時間來破解它。

0

最安全的方式來做到這一點很可能是加密許可文件,並有使用許可證的程序解密文件並顯示它作爲必要的信息。