我使用 SimpleMembershipProvider 作为我的数据库提供程序。
我已经添加了新功能来通过继承来改进这个提供程序。
现在我想创建一个类似“ChangeEmail”的功能,但在此之前检查输入的密码是否正确。
所以我必须加密输入的密码并将结果与我的数据库中的条目进行比较。
问题是:
SimpleMembershipProvider 以什么方式加密密码?
我试过:
Crypto.HashPassword(currentPassword);
数据库中的结果类似但不一样。
PasswordFormat 属性设置为 MembershipPasswordFormat.Hashed。
例如,注册时生成的“123456”哈希:
AIYlAKcmDaABMw1PVx1kheZq2KXkhVs4QjO7MnwfHPcTBjnmRobRqJzWYHYO/S4T7w==
这通过 Crypto.HashPassword:
AG+md+0W2EuV9BzUdohkYMK547jB5ochvxeVKYQTkls0UQ+3W0BWPHnFoffiIn2byw==
它看起来像相同类型的编码,但为什么结果不同?