我正在使用C#並擁有用戶輸入以激活我的程序的密鑰。我不希望用戶在輸入密鑰後就能看到密鑰。你有關於如何/在哪裏存儲的建議?保存激活密鑰的地方
回答
您可以將密鑰另存爲單獨的文件。加密密鑰並保存。所以即使用戶試圖篡改它,你也可以停用應用程序。
你可能會在CodePlex上對這個項目感興趣:http://licenser.codeplex.com/
編輯:你的一些問題進行檢查。
非常感謝,你明白我,yeeeeeeeeee :) 這是好的,而不是保存該密鑰IN程序的方式? (不是單獨的文件) – 2009-09-01 06:20:37
爲什麼不把它存儲在一個單獨的文件? – Shoban 2009-09-01 06:34:25
用戶很容易可以看到它 – 2009-09-01 06:41:18
你當然可以存儲在一個Excutable,其相當長的過程的資源的關鍵,有情侶的API像OpenResource,GetResourceData和UpdateResource一樣可用,資源不易訪問除非你安裝了visual studio工具。
但你不能修改當前正在運行可執行文件的資源,但您可以創建不同的激活程序,它可以加載你的主執行程序,修改資源和保存。
」但你不能修改可執行文件的資源「 我想寫入該文件的密鑰:( – 2009-09-01 06:33:52
我想知道是什麼阻止用戶將文件複製到另一臺PC後,它已被」品牌「?或者你打算添加除了密鑰之外,文件中還有一些MAC地址或其他硬件信息? – 2009-09-01 06:59:52
假設Windows機器運行你的應用程序,您還可以使用註冊表來存儲加密密鑰(也許MD5?)。
這樣,它不能夠由用戶觀看的「文件」(雖然它可以被看作/改變/由用戶刪除)。
在我看來,用戶(標準的......)往往不會在註冊表中查找 - 您可以在那裏隱藏您的密鑰。
其實,@ Shoban的第一個鏈接where-should-i-store-my-applications-activation-key在這個問題上進行更多的討論 - 你應該看它......
我知道這更像是加密密鑰 - 而是windows key container什麼?
忘記試圖掩蓋保存許可證密鑰的位置 - 您將無法停止確定的用戶,並且如果您嘗試將許可證信息存儲在「奇怪的」位置,則只會使系統管理員失望。忘記所有關於試圖存儲在正在運行的可執行文件中的內容,這很難以一種萬無一失的方式來實現,並且會觸發大量的防病毒軟件。
如果您想要防篡改的東西,請選擇其中一種商業解決方案;對不起,如果這聽起來很刺耳,但你是而不是會想出任何甚至是難以打破的難題,因爲你在問這樣的問題。
- 1. 使用myisam在分隔表中存儲激活密鑰
- 2. 保存加密/解密密鑰的最佳方法是什麼?
- 3. NPM安裝 - 保存密鑰
- 4. 保存ssh密鑰失敗
- 5. 保存在gradle.properties API密鑰
- 6. ndb.StructuredProperty不保存密鑰?
- 7. 在iOS中保存加密密鑰的安全方式
- 8. 方便的保存/恢復加密密鑰在Java
- 9. Sublime - 激活/取消激活 - 自動保存修改 - 插件
- 10. 安全的地方存儲API祕密密鑰
- 11. 生成從一大組的序列號和激活密鑰
- 12. PHP的電子郵件不能發送與激活密鑰
- 13. Evernote API密鑰激活的估計ETA是什麼?
- 14. 密鑰保管庫密鑰與祕密
- 15. 激活摘要不保存到分區
- 16. 位置傳感器模擬器激活「保存地圖點」
- 17. 保存德比數據的密鑰
- 18. 輸入要保存密鑰的文件
- 19. 保存密鑰的合適位置
- 20. 如何安全地保存我的密鑰庫
- 21. 本地存儲多個密鑰存儲
- 22. 用批量命令激活Windows 8.1和BIOS產品密鑰
- 23. 使用自定義密鑰激活命令行模式
- 24. 使用Windows 8 OEM密鑰激活Windows 8.1
- 25. 如何在生成註冊激活密鑰時防止衝突?
- 26. 在JAVA中構建「激活密鑰」生成器
- 27. 重置Windows激活/刪除許可證密鑰
- 28. inno setup使用許可證密鑰文件激活
- 29. Java將密鑰保存到密鑰庫KeyStoreException
- 30. 如何將密鑰保存到密鑰庫?
在哪裏救kay?我不希望那個用戶看到那個鍵 – 2009-09-01 06:01:58
什麼關鍵?什麼程序? 「激活」?你沒有任何意義。請詳細說明你正在嘗試做什麼,你已經做了什麼,以及你有什麼問題。 – Bombe 2009-09-01 06:04:52
Bombe我從我的程序中激活表單,現在我不知道在哪裏保存激活碼(當程序運行時檢查激活碼)。 – 2009-09-01 06:07:24