【问题标题】:SQL Conceptual Modelling - Can a password be a property of an entity?SQL 概念建模 - 密码可以是实体的属性吗?
【发布时间】:2017-11-28 12:56:35
【问题描述】:

我目前正在为一个项目制作概念模型,而我的一个实体恰好是用户。它的 key 是一个 userID,属性包括 firstName、lastName、emailAdr 和 userName。项目实施后,用户将拥有一个密码,这让我想知道是否应该将其添加为属性......还是会危及机密性?

【问题讨论】:

    标签: sql properties entity conceptual-model


    【解决方案1】:

    从概念上讲,您必须为用户保留密码,因此将其存储在用户实体中是有意义的。

    但是,正如@stepio 所指出的,当您查看将如何实现它时,保留散列(实际上是强安全散列)是一种存储它的好方法,因此它不会在受到损害时暴露出来。

    另一方面,例如,如果您使用从表中实例化实体的 ORM,并且您担心散列在整个应用程序中传播,您可以选择将真正的散列放在单独的表中,并保留在用户表中对它的引用。类似于 Unix 影子密码。

    【讨论】:

      【解决方案2】:

      考虑存储散列密码而不是纯文本。

      要实现身份验证,您只需对用户的输入进行哈希处理并检查哈希值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多