gpt4 book ai didi

mysql - 组的数据库架构

转载 作者:行者123 更新时间:2023-11-30 21:47:49 25 4
gpt4 key购买 nike

我有一个简单的用户和组数据库。

User: uid(pk), name, password(不用担心密码)

组:gid(pk)、名称、owner_uid

成员:uid(fk),gid(fk)(一个用户可以属于多个组)

现在,我不信任我的数据库管理员并希望加密/保护特定的列,以便数据库管理员无法将任何现有的 uid 添加到任何 gid。我如何修改我的模式以及我应该加密哪个列。

我有一个假定保持安全的加密 key ,我也想利用 sql 查询,因此无法完全加密表并存储为 blob。

最佳答案

我认为你不能用数据库约束来执行这个要求。您可以通过编程来管理它。但是,如果您编写一些触发器来处理它,您的(坏的)管理员也可以访问触发器。

Member 添加一个额外的列喜欢key_info .

  1. Insert : 使用 uid 的组合生成哈希码(如 sha256Hex)和 gid和特定的。并插入 uidgid进入Member .

  2. Select来自 Member : 你有一个额外的困难。您应该选择具有正确哈希码的记录(来自 Member)。

如果你有一个大而复杂的盐并且你的管理员无法访问盐(如你在评论中所说),他/她找不到编解码器算法。因此,如果他/她将一些记录添加到 Member 中,您的代码会忽略选择中添加的记录,因为 key_info不可能是真的。

关于mysql - 组的数据库架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48617901/

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