Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在上一个数据库上散列密码时验证用户_C#_Asp.net Identity_Asp.net Core 1.0_Identityserver4 - Fatal编程技术网

C# 如何在上一个数据库上散列密码时验证用户

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您可以使用散列密码的相同

我有一个已经存在一年的web应用程序

  • 框架:aspnetmvc
  • ORM:实体框架5
  • 数据库:SQL Server
  • 授权:使用脚手架
    AccountController
我想将它迁移到ASP.NET核心并重构一些代码。我的计划是创建一个独立的项目,负责授权/身份验证,为此我决定使用IdentityServer4。至于我的ORM,我想用整洁的


我的问题是,我不知道如何在登录时验证我的用户,因为数据库中的密码是散列的。

我假设您没有散列用户密码的原始代码部分?@BoyPasmo您可以使用散列密码的相同代码创建新密码,然后更新数据库中的实际值的结果吗?散列该框架提供了一系列密码。我没有密码。我认为这个框架使用了单向散列,所以我看不到它的真正价值。NET将密码、salt和算法信息保存在一个字段中。我猜您也可以在core中使用PasswordHasher类。我个人会尝试让每个人都走同一条路。如果由于任何原因无法导入旧的,最好让维护人员更改它。。。您还可以确保他们使用“一个上、一个下、特殊等”或任何公司政策-可能在原始系统和新系统之间发生了变化。