MySQL加密数据库文件

时间:2015-02-22 12:46:15

标签: mysql

请帮我完成以下任务: 我们需要将所有数据存储在MySQL(重要)加密(大多数是int,float,double)中,这样就无法在黑客攻击时读取MySQL中的原始数据。

项目基于PHP + MySQL(Yii框架)

请建议任何解决方案,最好免费一个:)

谢谢!

1 个答案:

答案 0 :(得分:2)

您必须努力处理索引,因为无法对加密数据建立索引,因此搜索该行并不容易。

我推荐Aes:

AES_ENCRYPT()和AES_DECRYPT()可以被认为是目前MySQL中最具加密安全性的加密函数。

INSERT into user (first_name, address) VALUES (AES_ENCRYPT('Person', 'myword'),AES_ENCRYPT('Person', 'myword'));

SELECT AES_DECRYPT(first_name, 'myword'), AES_DECRYPT(address, 'myword') from user;

Aes加密说明:

http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_aes-encrypt

Aes Decrypt说明:

http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_aes-decrypt


所有Mysql加密和压缩函数: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html

本文最好的是关于Mysql数据库安全性:

http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips