SQL概念建模 - 密码可以是实体的属性吗?

时间:2017-11-28 12:56:35

标签: sql properties entity conceptual-model

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

从概念上讲,您必须为用户保留密码,以便将其存储在用户实体中。

然而,正如@stepio所指出的那样,当你看看如何实现它时,保持哈希(事实上,一个强大的安全哈希)是一种很好的存储方式,因此如果被破坏就不会暴露它。 / p>

另一方面,如果您使用从表中实例化实体的ORM,并且您对遍历应用程序的哈希有一些担忧,您可以选择将实际哈希放在单独的表中,并保持在用户表中对它的引用。类似于Unix影子密码的东西。