微软身份验证密码哈希值对于相同的密码是不同的。

4
我正在使用 ASP.NET MVC 5 和 Microsoft Identity。
我有一个名为 AspNetUsers 的表。
它有一个名为“PasswordHash”的字段。
我创建了两个具有相同密码的用户,但是密码散列值是不同的。
我不明白它是如何运行的,它是否使用机器键?
如果我将我的服务器部署到云中,并且使用相同的数据库,会发生什么?
身份验证密码比较是否仍然能够在云上继续运行?

出于安全考虑,这是按设计实现的。阅读此文:https://en.wikipedia.org/wiki/Salt_(cryptography) - Ondrej Tucny
那么盐在哪里,如果我部署到另一台服务器上,我能改变吗,以便数据库密码仍然有效。 - TotalWar
1个回答

5
身份验证将密码哈希和盐一起放在数据库中的同一字段中。密码哈希始终为32字节长,盐始终为16字节长。因此,在进行密码验证时,身份验证始终知道什么是盐,什么是实际哈希。您可以通过查看源代码来验证这一点。并且由于盐在每次执行时都不同,附加了盐的密码将始终为您产生不同的哈希结果。

URL不再有效。 - Amr Elgarhy
1
@AmrElgarhy 已更新链接。感谢您的提醒! - trailmax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接