2014-02-14 5 views
0

Я просто возился с некоторыми настройками, чтобы лучше узнать SimpleMembershipProvider. Фоновая информация:SimpleMembershipProvider указать использовать hash SHA512, что-то пошло не так

MVC 4, .Net 4.0 и Entity Framework. Я также использую стандартное приложение Mvc для Интернета (для удобства).

Проблема/или вопрос:

В файле Web.config я установил, что hashalgorithmType должен быть SHA512, но когда я зарегистрировать член результат в базе данных имеет длину всего 68 символов. SHA512 должен быть 128 символов (быстрый google).

Почему? Мне нужно изменить некоторые настройки? Или мне нужно переопределить некоторый метод «setpassword», чтобы явно использовать SHA512?

Или я должен использовать внешние источники, например. Bcrypt и каким-то образом интегрировать это мое текущее решение (в этом случае было бы вид, если кто-то может мне точку в правильном направлении для дальнейшего чтения)

web.config Код:

<roleManager enabled="true" defaultProvider="SimpleRoleProvider"> 
     <providers> 
     <clear/> 
     <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/> 
     </providers> 
</roleManager> 

<membership defaultProvider="SimpleMembershipProvider" hashAlgorithmType="SHA512"> 
     <providers> 
     <clear/> 
     <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" /> 
     </providers> 
</membership> 

ответ

1

Я не верю вы можете изменить алгоритм хэширования в SimpleMembership, как вы могли бы в более старых провайдерах членства. Answer in this QA describes the hashing algorithm used in SimpleMembership.

Поскольку вы только начинаете изучать SimpleMembership, я думаю, я должен упомянуть, что это было depreciated for ASP.NET Identity. Вы можете потратить время на изучение этого, потому что это направление Microsoft идет вперед. Он намного более гибкий, и вы можете подключить любой алгоритм хеширования, который вы хотите использовать.

+0

Спасибо за точку в правильном направлении. Я не знал об изменении метода. Я буду вдаваться в подробности. Еще раз спасибо Кевин! –