Microsoft Identity密码哈希对于相同的密码是不同的

Tot*_*War 2 c# asp.net asp.net-identity

我正在使用ASP.NET MVC 5和Microsoft身份.

我有一个名为AspNetUsers的表.

它有一个名为"PasswordHash"的字段.

我使用相同的密码创建了2个用户,但密码哈希是不同的.

为什么我不明白它是如何运作的?它是否使用机器钥匙?

如果我使用相同的数据库在云中部署我的服务器会发生什么.

身份密码比较会继续在那里运作吗?

tra*_*max 5

Identity将密码哈希和salt放在数据库的同一个字段中.密码散列总是32字节长,盐总是16字节长.因此,在密码验证方面,Identity始终知道什么是salt,什么是实际的哈希.您可以通过查看源代码来验证这一点.

并且因为盐从一个执行到另一个执行总是不同的,所以附加盐的密码将始终产生不同的哈希结果.