Mysql数据加密

Mysql data encryption

我有一个使用 PHP 将数据发送到 MySQL 数据库的移动应用程序。我想在 PHP 文件中使用 AES_ENCRYPT 函数来加密我在 MySQL 服务器上的数据。我在数据加密方面没有太多经验。

这种方法会保护我的数据吗?如果不是,我可以使用哪些其他方法来保护我的数据?

我读了一篇教程说密钥将存储在 PHP 文件中,这种方法安全吗?有什么方法可以保护我的密钥不被黑客攻击?

这个问题最终会回到密钥管理——密钥必须存储在某处。存储密钥的位置取决于所需的安全性。

在你的场景中(你提到大学),我认为将密钥存储在你的 PHP 服务器上( 而不是 数据库服务器)将是 "enough".

密钥的保护又回到了 PHP 服务器的保护程度。

我建议您在 PHP 代码中进行加密,而不是使用 AES_ENCRYPT - 这可以防止数据库服务器知道密钥是什么,并且意味着不会破坏数据库服务器暴露任何信息。

您可能还对 this repository 感兴趣,它演示了如何安全地加密和解密 PHP 中的数据。