2014-02-10 95 views
1

我在Linux服務器上有一個MYSQL服務器。我正在使用AES加密功能將數據存儲在數據庫服務器中。命令是這樣的:文件上的mysql加密密鑰存儲

INSERT into userc (name, town) VALUES ('john',AES_ENCRYPT('nebraska', 'usa2010')); 
SELECT CAST(AES_DECRYPT(town, 'usa2010') AS CHAR(50)) town_decrypt from userc; 

我對這種加密值得關注的是,一切都需要訪問我的數據是以明文旅遊,所以嗅探器或調試級別的日誌能夠捕捉一切。

有不發送的命令的關鍵,而擁有它存儲在一個文件(/home/user/key.txt)等調用的方式與此類似加密的方式:

INSERT into userc (name, town) VALUES ('john',AES_ENCRYPT('nebraska', key1)); 

其中key1是存儲密鑰的文件的引用?

回答

0

看起來這是更多的數據庫問題,所以我發佈它並得到了一個解決方案。現在正在測試的提議是在C中創建一個用戶定義函數(UDF)並將其加載到mysql中。用C編寫的代碼可以執行我需要的任何操作,讀取一個文件,並根據它得到的參數爲它創建密鑰。

當然,這個文件必須以某種方式保護,所以它不會被暴露。