JavaScript是一種強大的編程語言,而MySQL是一個流行的關系型數據庫,它們可以很好地一起工作。如果你正在使用JS連接MySQL數據庫,并且想要保證數據的安全性,那么加密是一個必要的步驟。
下面是一個示例代碼,演示了如何使用JS連接MySQL數據庫并加密數據傳輸:
var mysql = require('mysql'); var crypto = require('crypto'); // 創建連接 var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '123456', database: 'my_db' }); // 設置加密算法參數 var algorithm = 'aes-256-ctr'; var password = 'my_secret_key'; // 加密數據傳輸 function encrypt(text) { var cipher = crypto.createCipher(algorithm, password); var crypted = cipher.update(text, 'utf8', 'hex'); crypted += cipher.final('hex'); return crypted; } // 解密數據傳輸 function decrypt(text) { var decipher = crypto.createDecipher(algorithm, password); var dec = decipher.update(text, 'hex', 'utf8'); dec += decipher.final('utf8'); return dec; } // 連接數據庫 connection.connect(); // 查詢數據并加密 connection.query('SELECT * FROM user', function (error, results, fields) { if (error) throw error; // 加密數據 var encrypted_data = encrypt(JSON.stringify(results)); console.log(encrypted_data); // 解密數據并輸出 var decrypted_data = decrypt(encrypted_data); console.log(JSON.parse(decrypted_data)); }); // 關閉連接 connection.end();
在上面的代碼中,我們使用了Node.js Crypto模塊,并設置了加密算法的參數。我們還定義了兩個函數,encrypt和decrypt,用于加密和解密數據。
在查詢數據后,我們將結果轉換為JSON字符串,并使用encrypt函數將其加密。然后,我們再使用decrypt函數將加密的數據解密,并將其轉換為JSON格式并輸出。
這是一個基本的示例,你可以根據自己的需要進行修改和擴展。