gpt4 book ai didi

hash - 如何将一个人的身份与其个人数据分开?

转载 作者:行者123 更新时间:2023-12-04 17:58:27 25 4
gpt4 key购买 nike

我正在编写一个应用程序,其主要目的是保留用户列表
购买。

我想确保即使我作为开发人员(或任何拥有完整
访问数据库)不知道多少钱一个
特定的人花了或他买了什么。

我最初想出了以下方案:

--------------+------------+------------
user_hash |项目 |价钱
--------------+------------+------------
a45cd654fe810 |脱衣舞俱乐部 | 400.00
a45cd654fe810 |法拉利 | 1510800.00
54da2241211c2 |啤酒 | 5.00
54da2241211c2 | iPhone | 399.00

  • 用户使用用户名和密码登录。
  • 从密码算出user_hash (可能加盐等)。
  • 使用散列通过普通 SQL 查询访问用户数据。

  • 如果有足够多的用户,几乎不可能知道有多少
    特定用户只知道他的名字就花掉了他的钱。

    这是明智的做法,还是我完全愚蠢?

    最佳答案

    恐怕如果您的应用程序可以将一个人与其数据相关联,那么任何开发人员/管理员都可以。

    你唯一能做的就是让链接变得更难,减慢开发人员/管理员的速度,但如果你让用户链接到数据变得更难,那么你的服务器也会变得更难。

    基于@no idea 的想法:

    您可以使用经典的用户/密码登录到您的应用程序(散列密码或其他),以及一个特殊的“通行证”,用于确保您的数据安全。此“通行证”不会存储在您的数据库中。

    当您的客户登录您的应用程序时,我必须提供用户/密码/通行证。用户/密码与数据库一起检查,密码将用于加载/写入数据。

    当您需要写入数据时,您可以对您的“用户名/通行证”对进行散列,并将其存储为将您的客户端链接到您的数据的键。

    当您需要加载数据时,您可以对“用户名/密码”对进行散列,并加载与此散列匹配的每个数据。

    这样就不可能在您的数据和您的用户之间建立联系。

    另一方面,(正如我在对@no 的评论中所说)小心碰撞 .另外,如果您的用户写了一个错误的“通行证”,您将无法检查它。

    更新:对于最后一部分,我有另一个想法,您可以在数据库中存储“密码/密码”对的哈希值,这样您就可以检查您的“密码”是否正常。

    关于hash - 如何将一个人的身份与其个人数据分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3691348/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com