ASP.NET хеширование паролей и соль пароля - PullRequest
0 голосов
/ 16 марта 2011

Я создаю пользовательскую страницу «Добавить пользователя» в веб-формах ASP.Net и столкнулся с проблемой. Я могу вставить все данные в таблицу членства, но пароли хранятся в виде простого текста, и соль пароля была жестко закодирована.

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

Любая помощь будет принята с благодарностью,

Марк

1 Ответ

1 голос
/ 16 марта 2011
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear />
        <add 
          name="SqlProvider" 
          type="System.Web.Security.SqlMembershipProvider" 
          connectionStringName="MySqlConnection"
          applicationName="MyApplication"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          requiresUniqueEmail="true"
          passwordFormat="Hashed" />
      </providers>
    </membership>

См. Строку, где упоминается passwordFormat = "Hashed". Вам нужно отработать этот параметр, чтобы хешировать пароль. PasswordFormat имеет три значения. Вы выбрали ту, которую хотите, и соответственно настроили свое приложение.

...