2013-07-29 51 views
1

我正在使用C++中的简单密码管理器,并且想知道如何在关闭程序后保持密码更新。在简单的密码管理器中更新密码

如果我更新程序中的密码,他们会在我退出程序后恢复到源代码中的内容,我相信。程序关闭后,有没有办法让更改保持不变?

当我更改密码时,反复将密码列表写入输出文件的缺点,还有另一种方法可以实现吗?

+0

使用某种数据库。 – Richard

+0

永远不要存储密码本身;只是存储散列。 –

+0

除了数据库或outfile以外,还有其他的方法吗?我想保持它轻巧和独立。 –

回答

0

答案取决于您所写的系统/平台。基本上,您需要某种持久性存储,它可以是本地文件系统或外部存储(如数据库)。 写入文件看起来像一个快速而简单的解决方案,但是您可能需要考虑安全性。因此使用一些加密库。如果您的密码列表足够大,但您仍想使用本地存储,请考虑使用sqlite。

1

我强烈建议使用一些已经存在和高质量的东西。您需要的持久性存储类型取决于您的要求。

对于只需存储有关当前上下文或某种凭证信息的应用程序,我会建议使用轻量级事务数据库,如SQLite database。全面和简单的API exists for C/C++

使用数据库系统,如下面的ACID原则SQLiteMySQL是更容易,因为数据库系统保证ConsistencyAtomicity交易的,IsolationDurability。这会使您的应用程序存储效率更高,不易出现常见的编程错误,并且如果在交易期间发生任何错误,您将被公布。