我在寫一個Node.JS應用程序,它將聊天記錄存儲到數據存儲區(即MongoDB)以及其他一些用戶信息。我已經在使用bcrypt存儲用戶密碼的鹽漬散列,因此我在那裏覆蓋。加密和解密Node.JS中的持久數據的最佳方式?
加密持久數據的最佳方法是什麼?我正在談論敏感的用戶數據,例如電話號碼和聊天記錄。如果我的數據庫受到威脅,我不希望這些信息可用。
但是,我確實需要雙向加密/解密,因爲我需要能夠使用純文本值(即電話號碼爲Twilio,聊天記錄供用戶查看其舊消息) 。
我在研究node-crypto,但是我一直沒能找到任何以高性能/實時方式做這件事的例子。
更新:我應該提到聊天「記錄」是被推到「房間」中,當用戶加入他們的實時全實際會話(即他們可以看到整個聊天記錄,或在至少它的一個子集)。所以,我需要能夠很快地進行加密和解密(如果不是實時的,至少需要某種工作進程)。
嗯,有什麼更好的,只使用它的服務器端(併發送明文給客戶端,但使用HTTPS)或使用它在客戶端,以及browserify? –
看起來有實際可用的JS實現可用:http://code.google.com/p/crypto-js/ –