Mat*_*hew 8 php mysql encryption cryptography
我希望使用PHP和MySQL存储一些相当敏感的数据,并且将使用某种形式的可逆加密来实现这一点,因为我需要以纯文本形式恢复数据,因为它有任何用处.
我将从用户的用户名/密码组合中获取加密密钥,但我很难忘记在密码被遗忘的(不可避免的)事件中该怎么做.我意识到加密的目的是它只能使用正确的密钥撤消,但这必须在之前解决..
我试图了解公钥加密是否适用于该问题,但我能想到的是私钥仍然需要正确才能解密数据.
有任何想法吗?
目前还不清楚你在追求什么,所以关于如何实施它的建议很难.
像PGP和S/MIME这样的标准使用新的对称密钥加密每条消息.然后为每个消息接收者加密这些密钥.这样,不是为每个收件人复制邮件(可能非常大),每个人都获得相同的密文,只有密钥(很小)被复制 - 但每个收件人的加密方式不同.
也许你可以在这里做类似的事情,用用户密码加密密钥,用你的公钥加密另一个拷贝.如果用户忘记了密码,您可以使用私钥为他们恢复邮件(在适当的备份身份验证之后).
我希望使用 PHP 和 MySQL 存储一些相当敏感的数据,并将使用某种形式的可逆加密来实现这一点,因为我需要以纯文本形式获取数据才能使用。
保护敏感数据是件好事。现在:
可能还有其他问题,但这是使用加密时需要考虑的问题。答案将帮助您弄清楚您需要什么与您想要什么,并且可能会帮助您指出正确的方向。您可能不想与我们分享所有答案。
我将从用户的用户名/密码组合中导出加密密钥,但我很困惑在忘记密码(不可避免的)事件中该怎么做。我意识到加密的目的是只能使用正确的密钥才能撤消它,但这之前必须已经解决过。
您可能在没有考虑影响的情况下决定了解决方案。这并不意味着该解决方案是错误的,但这个问题建议您应该考虑一下您愿意为安全承担哪些风险。有时数据会面临风险。
我试图弄清楚公钥加密是否适用于该问题,但我能想到的是私钥仍然需要正确才能解密数据。
这听起来也像是寻找问题的解决方案。当您有两个(或更多)独立的参与者并且有兴趣在他们之间通信数据时,公钥加密非常有用。这些参与者可以是真实的(人)或功能性的(系统的组件),但如果没有两个参与者,就没有理由拥有单独的公钥和私钥。