Или отредактировать магазин, чтобы ввести определенный ключ?
Моя цель - установить ключ с устаревшего сайта ASP.NET Webforms, который использует поставщика членства.Как таковой, он имеет элемент MachineKey в web.config, где указан ValidationKey.
Если бы я мог установить этот ключ в .NET Core Data Protection, я думаю, что я мог бы затем реализовать хэш пароля, используя код, подобный приведенному здесь примеру: https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/consumer-apis/password-hashing?view=aspnetcore-2.1. При правильном наборе ключа,После этого я смогу создавать хэши, совпадающие с хешами для старого сайта.
Но, похоже, вся философия защиты данных заключается в том, что она устанавливает ключи для вас автоматически, и вы не должны иметь с ними ничего общего.Есть ли способ обойти это?
РЕДАКТИРОВАТЬ:
В веб-формах ASP.NET, используя поставщика членства для хеширования паролей для пользователей, у меня есть следующая запись в моем web.config:
<system.web>
<machineKey validationKey="*********"
decryptionKey="*********"
validation="HMACSHA256"
decryption="AES" />
</system.web>
Когда пароль хэшируется, значение в атрибуте validationKey участвует в хешировании, не так ли?Если validationKey был другим, то при одинаковой комбинации пароль / соль полученный хеш был бы другим?Или здесь я ошибаюсь?
Если вышеприведенное верно, то мой вопрос: как мне использовать одно и то же значение ключа в ASP.NET Core, чтобы при хешировании с тем же паролемКомбинация соль / соль Я получаю тот же хеш, что и в своей прежней базе данных?Как предоставить .NET Core значение validationKey для хеширования?Или это даже не связано?