C# 如何在上一个数据库上散列密码时验证用户
我有一个已经存在一年的web应用程序C# 如何在上一个数据库上散列密码时验证用户,c#,asp.net-identity,asp.net-core-1.0,identityserver4,C#,Asp.net Identity,Asp.net Core 1.0,Identityserver4,我有一个已经存在一年的web应用程序 框架:aspnetmvc ORM:实体框架5 数据库:SQL Server 授权:使用脚手架AccountController 我想将它迁移到ASP.NET核心并重构一些代码。我的计划是创建一个独立的项目,负责授权/身份验证,为此我决定使用IdentityServer4。至于我的ORM,我想用整洁的 我的问题是,我不知道如何在登录时验证我的用户,因为数据库中的密码是散列的。我假设您没有散列用户密码的原始代码部分?@BoyPasmo您可以使用散列密码的相同
- 框架:aspnetmvc
- ORM:实体框架5
- 数据库:SQL Server
- 授权:使用脚手架
AccountController
我的问题是,我不知道如何在登录时验证我的用户,因为数据库中的密码是散列的。我假设您没有散列用户密码的原始代码部分?@BoyPasmo您可以使用散列密码的相同代码创建新密码,然后更新数据库中的实际值的结果吗?散列该框架提供了一系列密码。我没有密码。我认为这个框架使用了单向散列,所以我看不到它的真正价值。NET将密码、salt和算法信息保存在一个字段中。我猜您也可以在core中使用PasswordHasher类。我个人会尝试让每个人都走同一条路。如果由于任何原因无法导入旧的,最好让维护人员更改它。。。您还可以确保他们使用“一个上、一个下、特殊等”或任何公司政策-可能在原始系统和新系统之间发生了变化。