Поиск алгоритма, используемого существующим кодом для шифрования пароля в ASP.net - PullRequest
0 голосов
/ 17 января 2019

Мы взяли на себя какой-то старый кусок кода, который мы пытаемся переместить на веб-API. Существующий код использовал ASP.Net MVC, Kendo, Typescript и т. Д. И был полон беспорядка без комментариев и документации.

По большей части мы можем это исправить. Но мы застряли в попытке выяснить, какой метод используется для шифрования существующего пароля. В коде есть строка с надписью Membership.ValidateUser(model.UserName, model.Password) для проверки пользователя.

Насколько я понимаю, это использует встроенный поставщик членства ASP.Net. Но в этом случае в БД должны быть таблицы с суффиксом aspnet_. Например. aspnet_Users, aspnet_Profiles и т. Д. Но в копии рабочей базы данных эти таблицы не существуют.

Вместо этого есть отдельная схема с именем acgsec с таблицами, подобными acgsec.UserPassword.

Мое требование - просто выяснить, какой алгоритм используется для создания хеша и соли, хранящихся в текущей БД. Конечно, у меня есть и входные данные для некоторых конкретных пользователей.

Если я могу выяснить, как зашифрован текущий пароль, я могу сам создать класс проверки логина, который использует то же шифрование, тем самым избавившись от существующей реализации поставщика членства.

Мне было интересно, есть ли способ найти алгоритм, если у меня есть входное значение, хэш и соль. Или, если я смогу узнать acgsec создатель схемы. Я попытался найти имя схемы в поисковой системе и ничего не смог найти.

...