加密/匿名用户健康数据php/mySQLi

加密/匿名用户健康数据php/mySQLi,php,json,encryption,mysqli,bcrypt,Php,Json,Encryption,Mysqli,Bcrypt,我正在开发一个PHP/MySQLi应用程序,它收集用户的基本健康数据(年龄/身高/体重等),并向用户询问有关其生活方式的各种问题(饮酒、工作快乐等) 我目前正在使用salted bcrypt进行密码安全,并为用户和健康数据使用单独的表(通过用户ID连接),但客户端也希望数据加密,并以黑客无法将用户表中的用户与数据表中的数据连接的方式存储 没有大量数据要存储,我想知道如何将用户的所有健康数据存储在JSON中,并使用bcrypt对JSON进行加密,因此即使数据库中的两个表被链接,在不知道密码的情况下

我正在开发一个PHP/MySQLi应用程序,它收集用户的基本健康数据(年龄/身高/体重等),并向用户询问有关其生活方式的各种问题(饮酒、工作快乐等)

我目前正在使用salted bcrypt进行密码安全,并为用户和健康数据使用单独的表(通过用户ID连接),但客户端也希望数据加密,并以黑客无法将用户表中的用户与数据表中的数据连接的方式存储

没有大量数据要存储,我想知道如何将用户的所有健康数据存储在JSON中,并使用bcrypt对JSON进行加密,因此即使数据库中的两个表被链接,在不知道密码的情况下也无法检索数据

是否有其他/更好的方法?有没有办法防止黑客将用户表中的用户与其数据表中的数据连接起来?行业如何处理这一问题

非常感谢:)

我目前正在使用saltedbcrypt进行密码安全

太好了

以及用于用户和健康数据的单独表(通过用户ID连接),但是客户端也希望数据被加密,并且以黑客无法将用户表中的用户与数据表中的数据连接的方式存储

没有大量数据要存储,我想知道如何将用户的所有健康数据存储在JSON中,并使用bcrypt对JSON进行加密,因此即使数据库中的两个表被链接,在不知道密码的情况下也无法检索数据

所以,bcrypt不是一个加密函数,它是一个密码散列函数

此时,我想到了两种可能性:

  • 您正在尝试使用bcrypt进行加密,但这不起作用
  • 你实际上是在用河豚而不是bcrypt加密密码,这很糟糕 如果您使用的是blowfish加密,而不是bcrypt密码散列函数,那么应该立即解决这个问题
    password\u hash()
    password\u verify()
    是你的朋友

    是否有其他/更好的方法?有没有办法防止黑客将用户表中的用户与其数据表中的数据连接起来

    有一个名为的开源库,它对数据进行加密,您可以通过一个带有盲索引的加密字段来连接数据。盲索引可以这样构造,从而使攻击者无法将表链接在一起

    您很可能最终会使用CipherSweet的功能使其易于管理

    行业如何处理这一问题


    糟糕。现有的解决方案不应该被用来激发灵感。你必须有点前卫。

    bcrypt不是一种加密算法,它是一种单向密码散列算法。如果您使用bcrypt“加密”您的数据,您将永远无法恢复原始数据。在任何情况下,以任何方式将数据加密绑定到用户密码都是一个坏主意,除非您不打算提供任何类型的密码重置。