Я реализую членство в ASP.NET, используя поставщика SQL по умолчанию, настройки web.config по умолчанию.
Я замечаю, что пароли хэшируются. Но я не знаю, как asp.net хэширует мои пароли, поэтому я не уверен, может ли хакер расшифровать это?
Если asp.net использует то же правило для хеширования пароля, которое всем известно. чем хакер может легко взломать его.
Например. Если asp.net использует MD5 (123456), результатом чего является «E10ADC3949BA59ABBE56E057F20F883E», тогда у хакера может быть словарь MD5 для поиска этого.
Мои настройки:
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
-- Заявление SQL:
SELECT am.UserId, am.[Password], am.PasswordSalt FROM aspnet_Membership am
-- Результат:
F10A635D-22DA-419C-84E6-767D2A35A010,tpeiwPt5+kFbcocQZOuc4aoHeuI=,PVq9dPtbFxze9Erbfd7HrA==
Пароль 123456, он стал "tpeiwPt5+kFbcocQZOuc4aoHeuI=".
Всегда ли это значение одинаково на разных машинах или в разных приложениях?
Если это значение как-то связано с солью "PVq9dPtbFxze9Erbfd7HrA==", могут ли хакеры использовать эту соль для расшифровки моего пароля?