我使用雙贏的C#爲我的應用程序的軌跡版本,爲此我存儲許可證信息,如安裝日期,上次使用日期和黑名單用戶變量在HKEY_CURRENT_USER。什麼是最安全的方式來存儲在註冊表中的許可證信息 - c#
現在我擔心用戶可以輕鬆訪問此註冊表信息,或者他們可以修改其值。如果他們這樣做,那麼足跡應用程序可以在到期後重新使用。
有人請爲我提供保護此註冊表信息的最佳方法。
- 如何加密註冊表信息?
- 如何阻止修改對用戶的訪問,同時只有我的應用程序應該有權修改註冊表(因爲我的應用程序修改了註冊表中最後一次使用的變量)
- 任何其他替代方法來保護此許可證信息和同樣可以通過我的C#應用程序中使用(一個類似於註冊表項,其中我的應用程序可以讀取並修改其屬性的數據值)
一塊我的代碼
private void firstTimeAppOpen()
{
RegistryKey regkey = Registry.CurrentUser;
regkey = regkey.CreateSubKey(globalPath); //path
DateTime dt = DateTime.Now;
string Date = dt.ToShortDateString(); // get only date not time
regkey.SetValue("Install", Date); //Value Name,Value Data
regkey.SetValue("Use", Date); //Value Name,Value Data
}
// put next use day in registry
regkey.SetValue("Use", DateTime.Now); //Value Name,Value Data
下面的截圖展示的是一個我的數據如安裝日期,上次使用日期都是可見的,如果用戶找到它,可以修改。
通常用戶是其自己的機器的所有者。你不應該假設他不能修改自己的機器。搜索另一種方法來驗證您的試用軟件。使用Web服務來驗證試用版更加強大,但它並非牢不可破。 – Steve
當然,遠程許可是最安全的方式。但由於缺乏資源,我們無法選擇。因此寧願選擇一些可以繞過客戶機器濫用的替代方案? – kaviarasan
歡迎!可悲的是,你的問題太廣泛了,「最好」的觀點是有問題的。你展示一些代碼是很好的,但可悲的是沒有任何安全的嘗試。 [問] - – MickyD