如何自动加密/解密数据库中的数据

时间:2011-03-06 15:46:02

标签: php encryption

在PHP中是否有自动加密和解密数据库的数据?

目前,我正在使用SSL和其他安全漏洞来保护我的应用程序,但存储在数据库中的数据仍然是纯文本格式。无论如何都要以加密形式自动存储它,以便数据不再是纯文本了吗?

1 个答案:

答案 0 :(得分:2)

加密加密是没用的。数据库充满了不需要加密的非敏感信息。只需确保您的数据库服务器受到强密码和相关防火墙规则的正确保护(以防止外部访问)。

加密所有内容会删除正确查询数据库的能力,因为您始终必须根据加密的表单进行查询。所以你可以忘记ORDER BY(这将是毫无意义的)和简单的WHERE条款。

尽管如此,你仍然需要正确地散列(加密)你的密码和秘密答案(遗憾的是,这很大程度上被遗忘)并保护任何敏感数据,如SSN。这可以在Model类中手动完成。

这些信息加密/散列与正常信息相比的原因是,在SQL注入攻击的情况下,正确的散列使攻击者几乎不可能获得对系统的进一步访问(相对于纯文本密码而言)用来获得服务的访问权。)