保存加密/解密密钥的最佳方法


Best way to save encrypt/decrypt key?

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

我会喜欢加密密码,并发现这个有用的东西:使用PHP加密和解密密码的最佳方法?

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

有什么建议吗?

如果您加密,您仍然必须将加密密钥存储在同一台机器上 - 只有代码混淆才能减缓攻击的发生。

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

最坏的情况是,系统被彻底破坏。在这种情况下,如果您必须将密钥存储在显而易见的地方,则再多的加密也无法挽救您。混淆可能会使事情复杂化,让所有者有足够的时间来保护帐户。

我认为最好

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

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