2010-09-24 110 views
0

我的程序需要密碼才能打開某些功能。密碼可以由管理員設置。我的應用程序將密碼存儲在一個文件中。但是,如果文件被刪除或損壞,應用程序將丟失密碼。另一種情況是,如果文件被替換爲原始文件,則密碼將爲空。有關將密碼存儲在文件中的任何建議?如何安全地將密碼存儲在文件中?

編輯: 我的應用程序有一個功能。該功能受密碼保護,可由管理員(PC的所有者)設置。客人應輸入密碼以禁用該功能。 操作系統:Windows

回答

0

您無法保護文件不被刪除。在這種情況下,只允許任何用戶登錄到您的應用程序(如果密碼爲空,則同樣適用)。

如果你將密碼存儲在一個文件中(或者任何真的),你應該對它們進行散列(例如使用md5或sha1)。所以他們不能用純文本閱讀。在登錄時只需要檢查密碼(在php中的基本示例):

$password = file_get_contents('password.file'); // Outside webroot of course 
if(md5($_POST['password']) == $password) { 
    // Login OK 
} 
0

什麼樣的程序?哪個平臺? Windows,Mac,Linux,Android?

文件可以隨時刪除或替換。你可以把它放在一個「安全」的地方,用戶無法輕易找到它,但是依賴於平臺。

+0

安全通過晦澀(http://en.wikipedia.org/wiki/Security_through_obscurity)是不值得的。 – halfdan 2010-09-24 09:06:16

+0

當然他需要md5的密碼。我的意思是用戶可能很少在「應用程序數據」(在窗口中)刪除「我的文檔」中的內容。 – 2010-09-24 09:09:15

+0

我已更新我的帖子。例如,我安裝了防病毒軟件,它有一個設置菜單來保護用戶未經授權的修改。如果用戶想要禁用保護,那麼他應該輸入密碼。這是我想要實現的方案 – user 2010-09-24 09:20:32

相關問題