使用AES_ENCRYPT的最佳做法是什么?它的安全性如何?

时间:2017-04-06 14:37:16

标签: php mysql database security encryption

我被要求对表单提交数据如何加密进行一些研究,并确保将其安全地存储在数据库中。表单提交将包含有关员工的个人详细信息,这些必须保持安全。

我在研究过程中遇到过AES_ENCRYPT(),并设法应用此功能,以便将数据成功存储在数据库中。

我使用的示例SQL语句:

ChangeUI

但是,我对此领域的知识非常有限,并且不确定这是否足以防止数据被黑客入​​侵。这提供了什么级别的安全性?有什么我错过的或我可以用来改进我的实施的其他技术吗?

此外,我已将加密密钥存储在单独的PHP文件中,但我不知道建议的存储方式是什么。对此有任何建议将非常感激。

很抱歉,如果这个问题含糊不清或相当广泛。我是这个领域的初学者。如果需要,我很乐意提供更多信息。

1 个答案:

答案 0 :(得分:0)

AES (Rijndael) crypto非常安全。实际上,除非您的数据非常有价值,否则您可以认为它是安全的。除非一些拥有大量资源的演员决定破解加密,否则没人会。

它是对称的。它使用相同的密钥来加密和解密内容。因此,您可以认为它与您的密钥一样安全。

您的密钥不安全。如果网络蠕虫破坏运行您的PHP代码的服务器,他们会立即访问您的密钥。这使他们可以访问您的加密数据。他们有一个明亮的霓虹灯路标,上面写着“这是我认为敏感的数据。”

不要忘记安全取决于薄弱环节。通常,使用您的金钱和时间来保护您的服务器被认为更聪明,而不是在dbms的几列上使用对称加密。换句话说,您可能会浪费时间进行基于列的加密。

如果绝对必须加密静态数据,则应考虑使用非对称(公钥/私钥)密码系统。使用公钥加密内容,并将私钥保存在空中安全系统上,以防您需要解密某些数据。

你的例子(名字)不够灵敏,不值得这个麻烦。