0

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

4

2 回答 2

1

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

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

于 2017-11-28T12:59:47.473 回答
1

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

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

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

于 2017-11-28T13:12:14.370 回答