Можно ли установить ключ в .NET Core Data Protection? - PullRequest
0 голосов
/ 02 июня 2018

Или отредактировать магазин, чтобы ввести определенный ключ?

Моя цель - установить ключ с устаревшего сайта 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 для хеширования?Или это даже не связано?

...