首先,如果我的问题听起来有点混乱,我道歉,我会尽力详细描述我的情景:
我有一个网站,用户可以在其中输入自己的个人资料。它们主要是健康数据,因此它是非常私密和敏感的信息。因此,我需要在服务器上加密这些数据,即使服务器受到损害,这些数据也会受到保护,因为它们将使用每个用户的密码进行加密。当然,用户密码不会作为清晰文本存储在服务器上,只会存储密码哈希值。
但我的问题是,当用户可以选择与其他用户分享他/她的某些信息时,该网站将提供“社交功能”。但这会有问题,因为我无法解密用户私有数据,所以我无法将其显示给其他用户。
你能给我一些选择,或者至少是想法,怎么能解决这个问题?优选使用LAMP环境。
答案 0 :(得分:21)
这可以使用public-key cryptography来解决:
现在,当用户 u 想要与用户 x 共享数据时,请执行以下操作:
现在,当任何用户 x 想要访问数据时,请执行以下过程: