保存加密/解密密钥的最佳方法是什么?

时间:2012-05-31 05:04:40

标签: php encryption

我正在开发一个wordpress插件。 在该插件中,用户需要键入一些重要的登录详细信息,我将在cron-job中使用。

我希望加密密码,并发现这个有用的东西: Best way to use PHP to encrypt and decrypt passwords?

但是,我应该如何保存密钥? 我无法将其保存在文件中,因为当用户更新插件时,所有文件都将被替换。 并将其保存在数据库中 - 我认为这不是很聪明。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果你加密,你仍然需要将加密密钥存储在同一台机器上 - 只有代码混淆可以减慢发生攻击。

在最好的情况下,只有您的数据库容易受到攻击,在这种情况下,将加密的密码存储在数据库中,而将密钥存储在文件系统中并不是一个糟糕的解决方案。

最糟糕的情况是,系统完全受到了损害。在这种情况下,如果您必须将密钥存储在明显的视野中,则不会为您节省任何加密费用。混淆可能使问题复杂化,给予所有者足够的时间来保护帐户。

答案 1 :(得分:0)

我认为如果将密钥保存在数据库表中则更好。关于 securing the database and making sure that the data in the table will only be accessible by the authorized person 的部分,您可以创建第二个用户,具有访问和阅读此类重要表格的权限。

因此,创建一个单独的用户,该用户有权访问该表及其内容。现在,当您需要访问加密密钥和其他重要信息时,请使用具有不同用户的网站并切换到管理数据库用户。