【发布时间】:2014-01-08 01:27:18
【问题描述】:
我有一个 WPF 应用程序和一个基于 MVC 的网站。我希望 WPF 应用程序读取 MVC 网站为密码信息创建的数据库,以指定哈希密码。如何对输入的 WPF 密码进行哈希处理以匹配 MVC 创建的数据库中的哈希密码?
我已经拥有的:
是一个基于 MVC 的网站,使用 EF 创建 多个数据库。
其中一个数据库包含所有密码信息,例如 哈希密码和盐。
我在 MVC 项目中使用 Simplemembership。
编辑:最初,我不知道我需要手动散列密码。感谢下面的解决方案,现在我知道了。不过我还没有测试它,因为我还在为它创建逻辑。
[Table("webpages_Membership")]
public class Membership
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int UserId { get; set; }
public DateTime? CreateDate { get; set; }
public string ConfirmationToken { get; set; }
public bool IsConfirmed { get; set; }
public DateTime? LastPasswordFailureDate { get; set; }
public int PasswordFailuresSinceLastSuccess { get; set; }
public string Password { get; set; }
public DateTime? PasswordChangedDate { get; set; }
[Required(AllowEmptyStrings = true), MaxLength(128)]
public string PasswordSalt { get; set; }
[MaxLength(128)]
public string PasswordVerificationToken { get; set; }
public DateTime? PasswordVerificationTokenExpirationDate { get; set; }
}
编辑: 我得出的结论是,我需要在网站本身上验证密码,并将布尔响应发送回验证凭据的 wpf 应用程序。我正在进一步研究这个问题,以确定我是否需要 wcf 或 Web 服务来做到这一点。
【问题讨论】:
-
提供更多信息以便人们提供帮助。密码是如何加密的?实际上是加密的还是散列的?您的网站使用什么加密或散列算法?
-
我正在使用调用 WebSecurity.CreateUserAndAccount(model.UserName,model.Password); 的帐户控制器中的 webmatrix.webdata;使用 simplemembership,因此密码有自己的数据库链接到用户
-
在@Leo 提到该信息之前,我对情况知之甚少。
-
这个问题不再是题外话了,对于遇到此类问题的任何人来说,它都是一个很好的信息来源跨不同的 ASP.NET 版本。让这个问题“离题”只会违背开发者社区。span>
标签: c# wpf encryption mvvm passwords