2011-05-15 51 views
2

上下文: 我有一個爲客戶製作的c#.net應用程序。該應用程序沒有網絡通信。事實上,它運行的計算機不會有任何互聯網或網絡訪問。在應用程序中實現本地密碼

在談到我們的客戶有一個非常具體的和不可轉讓的要求:

請求開放某些屏幕,並授予一定的權利之前,管理密碼。此密碼必須在應用程序內。默認密碼(我可能將其設置爲'密碼')必須是可更改的,所以它不能被硬編碼。並且在忘記密碼的情況下應該有某種方式返回到默認值。

對於我來說,將一個加密的密碼粘貼到文件中的應用程序文件夾中似乎有點多餘。任何刪除該文件的人都會刪除密碼。

有沒有一些廣爲人知的策略呢?

再次,密碼是本地的,未在任何網絡上進行身份驗證。

+0

+1,有趣的問題。我個人總是對此有點好奇。 – 2011-05-15 23:15:38

+0

如果他們可以重置它,那麼是什麼阻止了沒有密碼的人重置它? – 2011-05-15 23:20:33

回答

1

也許把它藏在註冊表中?如果註冊表項不存在,那麼只需重新制作並將其設置爲默認密碼即可。硬編碼的默認密碼,可能是加密或某人掃描.exe的人無法找到它。同時詢問您的客戶應該設置什麼樣的默認密碼,而不是簡單地創建一個。
問題是,只要你在本地存儲的東西,每個人真的想知道它,找到一種方式來獲得它。 :/

+0

我同意這是一個額外的層,然後對任何東西實際安全。不幸的是,編寫該要求的人不一定在軟件(甚至計算機)領域。你的註冊表建議很有趣。你有鏈接的東西,會告訴我如何做到這一點?如果用戶沒有Windows管理員帳戶,這會工作嗎? – Roast 2011-05-15 23:28:51

相關問題