2009-11-18 54 views
0

對於Windows.Forms的,我有一個需要得到一個唯一的ID安裝每個從我的服務器上安裝,然後持續存在,因此一旦註冊數據的應用程序,安裝最好的地方ID包含在所有返回服務器的通信中。該應用程序偶爾與服務器聯繫。asp.net Windows窗體 - 堅持應用程序數據

我怎麼能在不容易被篡改的方式堅持在客戶端上這些數據?

+0

你是什麼意思由容易被篡改? – Anthony

+0

這是ASP.NET還是Windows窗體? –

回答

0

首先,你應該注意的是,如果該數據是本地文件系統中,應用程序可以讀取和寫入它,它永遠是可能確定用戶亂動......也許並不容易,但可能不過。

這就是說,有包括許多選項,你可以考慮,(但不限於):

  • 的數據與您的程序集定義的密鑰加密:非常安全是用戶沒有編程技能,但高級用戶可以反彙編你的應用程序來找到關鍵。混淆可能使得難以提取密鑰,但並非不可能。
  • 使用isolated storage:我不確定數據是否加密,但至少不容易找到,隱藏在深層文件夾層次結構中......用戶不知道在哪裏尋找,但是不太安全
  • 以二進制格式寫入數據,這使得難以閱讀或修改非專家用戶
  • 使用一段本機代碼來加密數據:與第一個選項類似,但本地DLL很難因爲它需要更多的技能才能找到密鑰

再說一次,所有這些方法都不是防彈的:只要你的程序上午可以訪問數據,高級用戶總是可以進行逆向工程,並做同樣的...

0

你可以保存在Windows註冊表中的數據。如果是按用戶設置,則使用[HKCU \ Software \ YourAppName]配置單元密鑰,如果是全局設置,則使用[HKLM \ Software \ YourCompany]。但是,這些數據將需要加密的,因爲它trivila獲得這些鍵的值

相關問題