我正在使用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. 保存在gradle.properties API密鑰
- 2. NPM安裝 - 保存密鑰
- 3. Sublime - 激活/取消激活 - 自動保存修改 - 插件
- 4. 安全的地方存儲API祕密密鑰
- 5. 我應該在哪裏存儲我的應用程序的「激活」密鑰?
- 6. Evernote API密鑰激活的估計ETA是什麼?
- 7. 生成從一大組的序列號和激活密鑰
- 8. 密鑰保管庫密鑰與祕密
- 9. 位置傳感器模擬器激活「保存地圖點」
- 10. 保存德比數據的密鑰
- 11. 輸入要保存密鑰的文件
- 12. 用批量命令激活Windows 8.1和BIOS產品密鑰
- 13. inno setup使用許可證密鑰文件激活
- 14. 在JAVA中構建「激活密鑰」生成器
- 15. Java將密鑰保存到密鑰庫KeyStoreException
- 16. 如何在Azure密鑰保管庫中保護Blob存儲訪問密鑰
- 17. 密碼/密鑰保護
- 18. 遠程存儲密碼保護私鑰
- 19. Django - 保存()更新重複密鑰
- 20. 如何保存模式和密鑰?
- 21. Android KeyStore未保存RSA密鑰
- 22. 保存RSA密鑰文件,使用pycrypto
- 23. 保護SSH密鑰
- 24. 將用戶名保存在密鑰中,並在存在密鑰時加載密鑰
- 25. 存儲密鑰
- 26. 如何安全地存儲密鑰?
- 27. 什麼是存儲API密鑰和加密密鑰的最佳方式?
- 28. 地圖API密鑰
- 29. 在保存案例的同時使用密鑰加密文本?
- 30. 用於保存加密密鑰的文件格式
在哪裏救kay?我不希望那個用戶看到那個鍵 – 2009-09-01 06:01:58
什麼關鍵?什麼程序? 「激活」?你沒有任何意義。請詳細說明你正在嘗試做什麼,你已經做了什麼,以及你有什麼問題。 – Bombe 2009-09-01 06:04:52
Bombe我從我的程序中激活表單,現在我不知道在哪裏保存激活碼(當程序運行時檢查激活碼)。 – 2009-09-01 06:07:24