数据库项的加密

时间:2014-09-18 06:29:15

标签: php mysql

您好我正在开发一个小型PHP项目。

我有一个表,用于存储DB(MYSQL)中项目的价格。价格表是否有任何方式在数据库中进行散列或加密,因此服务器管理员甚至我都看不到客户价格。登录到系统后,它仅在站点中可见。

使用此功能可以防止某人下载数据库并且无法查看事务表数据

什么是最好的推荐?

谢谢

1 个答案:

答案 0 :(得分:0)

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

我推荐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