標籤:mysql資料庫欄位加密
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的人不應該用資料庫許可權。
本文出自 “我是一隻小小鳥” 部落格,請務必保留此出處http://2242558.blog.51cto.com/2232558/1716460
Mysql 資料庫欄位加密