我目前正在为一个项目制作一个概念模型,而我的一个实体恰好是一个用户。它的关键是userID,属性包括firstName,lastName,emailAdr和userName。项目实施后,用户将拥有一个密码,这让我想知道是否应该将其添加为属性......还是会危害机密性?
答案 0 :(得分:1)
考虑存储散列密码而不是纯文本。
要实现身份验证,您只需要对用户的输入进行哈希处理并检查哈希值。
答案 1 :(得分:1)
从概念上讲,您必须为用户保留密码,以便将其存储在用户实体中。
然而,正如@stepio所指出的那样,当你看看如何实现它时,保持哈希(事实上,一个强大的安全哈希)是一种很好的存储方式,因此如果被破坏就不会暴露它。 / p>
另一方面,如果您使用从表中实例化实体的ORM,并且您对遍历应用程序的哈希有一些担忧,您可以选择将实际哈希放在单独的表中,并保持在用户表中对它的引用。类似于Unix影子密码的东西。