我们已经接管了一些旧代码,试图将其移至Web api。现有的代码使用ASP.Net MVC,Kendo,Typescript等,并且完全混乱,没有任何注释或文档。
在大多数情况下,我们可以解决此问题。但是我们一直试图找出用于加密现有密码的方法。在代码中,有一行显示Membership.ValidateUser(model.UserName, model.Password)
以验证用户。
据我了解,这是使用ASP.Net的内置成员资格提供程序。但是在那种情况下,DB应该具有带后缀aspnet_
的表。例如。 aspnet_Users
,aspnet_Profiles
等。但是在生产数据库的副本中,这些表不存在。
相反,有一个名为acgsec
的独立模式,其中包含诸如acgsec.UserPassword
之类的表。
我的要求是简单地弄清楚哪种算法用于创建存储在当前数据库中的哈希和盐。当然,对于某些特定用户,我也具有输入价值。
如果我可以弄清楚当前密码的加密方式,可以自己创建一个使用相同加密方式的登录验证类,从而摆脱现有的Membership provider实现。
我想知道是否有一种方法可以找到算法,是否有输入值,哈希值和盐值。或者,如果我可以找到acgsec
模式创建者。我尝试使用Google搜索模式名称,但根本找不到任何内容。