Как шифровать данные пользователя (логин-пароль) в базе данных?

Разрабатываю проект на ASP.NET MVC 5 (разработка с нуля, без использования CMS).
Регистрация и авторизация пользователя реализована обычными запросами к MSSQL базе данных, через ORM Entity Framework.
Пришла мысль, что хранить в таблице значения в явном виде нельзя, а нужно их как-то или чем-то шифровать. (т.е. чтобы в БД поле таблицы не имело вид "Admin" "12345").

Подскажите в какую сторону посмотреть. Как делать правильно? И как это делается в масштабных CMS?

Спасибо!
  • Вопрос задан
  • 4947 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Grag
Ну пароль загонять в md5(это php), потом вводимый так само вгонять и сравнивать. Шифруйте пароль и при этом делайте приставку перед шифром: 1234 - это предположил приставка, qwertyuiop это пароль. Приставку и пароль лепим вместе и шифруем. При вводе так само к значению из инпута перед шифрованием добавляем 1234
Ответ написан
Комментировать
@asdz
Может вам использовать ASP Net Identity или Membership? Можете также посмотреть в исходниках Simple Membersip Provider как осуществляется кодирование паролей aspnetwebstack.codeplex.com/SourceControl/changese...
там используется Crypto API который вы можете с успехом использовать вместо самостоятельного кодирования. Crypto.HashPassword msdn.microsoft.com/ru-ru/library/system.web.helper... пароль при этом автоматически солится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы