1 数据库字段加密:

2 4.20. 数据加密

3 数据库中有很多敏感字段,不允许随意查看,例如开发人员,运维人员,甚至DBA数据库管理员。另外加密主要是防止被***脱库(盗走)

4 敏感数据加密有很多办法,可以用数据库内部加密函数,也可以在外部处理后写入数据库。加密算法有很多种,但通常两类比较常用,一种是通过key加密解密,另一种是通过证书加密解密。

5 通常程序员负责写程序,程序交给运维配置,运维将key设置好,运维不能有数据库权限,DBA只能登陆数据库,没有key权限。

6 4.20.1. AES_ENCRYPT / AES_DECRYPT

7 这里介绍AES加密与解密简单用法

8 CREATE TABLE encryption (

9   userID int unsigned not null auto_increment,

10   user_password varchar(30) NOT NULL,

11   user_name varchar(30) NOT NULL,

12   PRIMARY KEY  (userID)

13 );

14 INSERT INTO encryption(user_name,user_password) VALUES ('TestName', AES_ENCRYPT('123qwe','encrypt_key'));

15 SELECT AES_DECRYPT(user_password,'encrypt_key') FROM encryption WHERE user_name='TestName';

16

17 这里方便演示将key 写入了数据库,实际应用key应该存储在应用程序配置文件中。通常能把获得key的人不应该用数据库权限。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐