У меня есть старое приложение, которое работает только для чтения членства поставщика.Мне поручено создать страницу администратора, чтобы помочь с добавлением / изменением / удалением пользователей из этого приложения.Поставщик членства использует FormsAuthentication
, который я не могу использовать, потому что мое приложение администратора находится в .net Core.Я пытаюсь реконструировать способ, которым они шифруют, используя FormsAuthentication
, и у меня так:
Они используют:
FormsAuthentication.HashPasswordForStoringInConfigFile(password, "sha1").ToLower();
Я имеюперепроектировать его в:
(передается строка pwd)
HashAlgorithm hashAlgorithm = new HMASHA1();
var step1 = Encoding.UTF8.GetBytes(pwd);
var step2 = hashAlgorithm.ComputeHash(step1);
var step3 = BinaryToHex(step2);
И на шаге 3 получается что-то вроде этого "AD626B9D42073B299ECFC664CCB7A8B01F3AF726", которое похоже на то, как выглядят пароли вXML-файл пользователя для старого приложения.
Мне просто любопытно, если я использую этот метод хеширования (который работает в ядре .net), сможет ли хешированные пароли быть "проверены" с помощью FormsAuthentication
?
Myтесты пока не работают.Есть идеи?Я делаю это неправильно?
РЕДАКТИРОВАТЬ: это не HMASHA1, это SHA1Cng - который я не могу использовать, потому что он находится в System.Core в .net framework 4. что-то ... что я могу использоватьсделать это в .net core?