如何使用php和mysql处理加密的私人消息


how to approach encrypted private messaging with php and mysql

我有一个codeigniter应用程序,允许用户注册和登录(他们的密码是散列的)。现在创建一个消息传递系统就可以了,但我需要一种方法来在数据库中对消息进行加密。我计划使用公钥系统,每个用户都有一个公钥/私钥对,但我不确定是否可以将私钥安全地存储在网络服务器上。有办法做到这一点吗?

此外,我真的不希望用户每次发送消息时都必须输入密钥或自己的密码。

如有任何指导,将不胜感激

首先问问自己"我真的需要加密这些信息吗?"我想,除非你在银行工作,否则你可能不需要。但是,如果您确实必须这样做,请使用CI的加密类:

http://codeigniter.com/user_guide/libraries/encryption.html

你有各种问题需要解决,而不仅仅是加密和存储。如果在某个时间点没有加密,那就是关键阶段。加密消息然后存储它们在技术上很容易,但意义不大。最好使用公钥系统索取预先加密的消息,然后将其存储起来。试图降低加密系统的静音只会失败。另一个问题是私钥的安全性,若它们被盗怎么办?一切都毫无价值。永远不要存放钥匙。除非你是詹姆斯-邦德-维廉的主谋,否则它会打败pourpose。