Зашифруйте пароли в базе данных поставщика членства ASP.NET - PullRequest
2 голосов
/ 19 июля 2010

У меня есть устаревшее приложение, которое использует поставщик членства ASP.NET с бэкэндом SQL. Пароли в базе данных установлены на очистку. Я хотел бы зашифровать эти пароли при сохранении отдельных паролей. Как я могу программно выполнить это?

Я знаю, что для того, чтобы ASP.NET распознал изменение, мне нужно изменить формат пароля базы данных, соль пароля и сам пароль. Мне также нужно изменить формат пароля в конфигурации ASP.NET, чтобы использовать формат зашифрованного пароля.

По сути, мне нужно сгенерировать соль, получить пароль, применить шифрование к паролю, но я немного растерялся, как на самом деле шифровать пароль.

Ответы [ 2 ]

3 голосов
/ 19 июля 2010

Когда вы говорите, что хотите зашифровать эти пароли, сохраняя при этом отдельные пароли, я предполагаю, что вы имеете в виду, что вы не хотите менять пароли пользователей.

Я бы посоветовал вам выполнить тестовый прогон (я уверен, что вы все равно это сделаете).

Ссылка на этот пост, чтобы узнать, как работает хеширование SHA1. Как создать хеш-пароль провайдера asp.net вручную?

  1. Создайте небольшое приложение для подключения к базе данных и хэшируйте все пароли.

  2. Обновите конфигурацию для вашего приложения, чтобы хэшировать пароли (удалите директиву «Очистить», поскольку хеширование используется по умолчанию.

1 голос
/ 19 июля 2010

Я предлагаю вам хешировать их с солью.

Эта веб-страница содержит все, что вам нужно для хэширования: http://www.obviex.com/samples/hash.aspx

Вы должны выполнить итерации ваших записей и обновить их.

Затем измените логику проверки пароля в вашем коде.

...