ASP.Net Membership zapisuje zmienione hasło jako zwykły tekst nawet z zestawem Hashed passwordFormat
Korzystam z ASP.Net SqlMembershipProvider do zarządzania moimi użytkownikami. Oto moja konfiguracja:
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="SiteDatabase"
applicationName="WPR"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed" />
</providers>
</membership>
Mój problem jest następujący: gdy wywołam Membership.CreateUser w celu utworzenia nowych użytkowników, hasło jest przechowywane w DB w formacie hashed z solą - co jest dobre. Jednak gdy wywołam Membership.ChangePassword w funkcji administratora, zapisuje hasło w formacie zwykłego tekstu. Naprawdę nie mogę zrozumieć tego zachowania, ponieważ konfiguracja wyraźnie mówi „Hashed” i utworzenie nowego użytkownika tworzy zaszyfrowane hasło.