2010-09-24 133 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

相关问题