为多个用户加密/解密数据库中的内容

时间:2013-08-03 16:28:11

标签: php mysql encryption

通常情况是有人想要存储和加密数据,这些数据以后只能由他提供(可读)。但是在这里我想在我的MySQL数据库中加密(普通和二进制(BLOB))数据,以便获得直接访问数据库的人无法读取这些数据。但在这种情况下,所有注册用户都应该能够为所有其他用户插入(加密)数据,反之亦然,所有注册用户都应该能够读取(解密)其他人插入和加密的数据。

所以,我的问题是,在MySQL数据库之上构建的Web应用程序的用户将如何共享用于db中数据加密/解密的相同密钥?每个用户必须能够加密其他人能够解密的数据。

1 个答案:

答案 0 :(得分:0)

这个问题有点抽象,也许我会错过一些重要的观点,但是......

就我自己而言,我只是在应用程序级别加密/解密。因此,从数据库的角度来看,加密数据只是TEXTBLOG列,具体取决于加密算法的输出。


另一种选择是使用MySQL standard encryption functions加密数据,同时存储数据并在访问时解密数据。我不太喜欢这种解决方案,因为非加密数据将通过网络传输到数据库服务器或从数据库服务器传输。


这可能很明显,但请记住,您将无法搜索或排序加密数据。