2012-02-21 55 views
2

我正在使用Node.js和Mysql,我想加密我的數據庫上的數據。 我想知道如何避免將簡單的密鑰存儲在易於查找的文件中,做AES_ENCRYPT(text, key)對我來說沒有意義,因爲我傳遞了一個可以在服務器上讀取沒有問題的普通密鑰。如何避免在純文件中的鍵?

有什麼建議嗎? 非對稱加密?

感謝

回答

0

我想任何數據,以防止日誌內出現的任何未加密數據將其發送到MySQL服務器之前加密。以下信息將討論Node.js加密模塊,該模塊應該根據您的需要進行操作。這樣,所有離開你服務器的東西都是加密的字符串,如果沒有密鑰,這些字符串的使用就會少得多

Node.js的加密模塊文檔:http://nodejs.org/docs/latest/api/crypto.html

+0

該鏈接導致嚴重過時cumentation。這是更好的:http://nodejs.org/docs/latest/api/crypto.html – 2012-02-21 09:53:23

+0

感謝@LinusGThiel - 我更熟悉Coldfusion但同樣的原則適用:) – 2012-02-21 10:02:09

+0

@ Simonatmso.net node.js在服務器上運行,我如何在客戶端上使用「加密」模塊? – Dail 2012-02-21 11:25:30

0

您可以讓用戶提供啓動時的關鍵,使用readline模塊:

您的應用程序:

module.exports = function(key) { 
    var app = // ... 
} 

你的啓動腳本:

var readline = require('readline') 
    , interface = readline.createInterface(process.stdin, process.stdout, null); 

interface.question("Please supply a key", function(key) { 
    // load your app, supplying the key 
    require("./app")(key); 
    interface.close(); 
    process.stdin.destroy(); 
}); 
+0

我不能這是一個網站 – Dail 2012-02-21 11:26:35