2010-04-07 2 views
2

У меня есть пароль SHA1 и PasswordSalt в моей таблице aspnet_Membership. , но, когда я запускаю запрос с сервера (запрос Sql), читатель показывает , что пропуск вернулся как его эквивалент открытого текста.SHA1 Password возвращает как открытый текст после запроса БД

Мне интересно, вызывает ли моя конфигурация web.config?

<membership defaultProvider="CustomMembershipProvider" 
       userIsOnlineTimeWindow="20" 
       hashAlgorithmType="SHA1"> 
     <providers> 
     <clear/> 
     <add name="CustomMembershipProvider" 
       type="Custom.Utility.CustomMembershipProvider" 
       connectionStringName="MembershipDB" 
       enablePasswordRetrieval="false" 
       enablePasswordReset="true" 
       requiresUniqueEmail="false" 
       requiresQuestionAndAnswer="false" 
       passwordStrengthRegularExpression="" 
       minRequiredPasswordLength="1" 
       minRequiredNonalphanumericCharacters="0" 
       passwordFormat="Hashed" 

заранее спасибо ...

+0

ОК, я получил два голоса. Все, что мне интересно, это если есть какой-то механизм ASP.NET для unencode пароля SHA1 в моей БД при поиске на основе настроек в моем Web.config. В противном случае я не могу объяснить, почему мои хешированные пароли возвращаются в виде четкого текста за пределами серьезного глупого запроса. –

ответ

1

Вы уже использовали правильные настройки для поставщика членства (в частности passwordFormat="hashed"), но также есть эта строка:

type="Custom.Utility.CustomMembershipProvider" 

passwordFormat="hashed" Установка только говорит, какой бы ни поставщик членства, которую вы используя то, что вы хотите пароли быть хэшированными. Если вы используете поставщик пользовательских членских прав, этот провайдер должен быть закодирован в соответствии с настройкой passwordFormat.

Я на 99% уверен, что причина, по которой ваши пароли хранятся в открытом тексте, заключается в том, что это то, что запрограммировано для CustomMembershipProvider.

+0

Я на 100% уверен, что причина, по которой pwd ясна, заключается в том, что 'CustomMembershipProvider' не запрограммирован на шифрование паролей. Тон вопроса OP означает немного влаги за ушами. Но он это выяснит. ;-) –

-3

ОК, я понял, это один из. Ответ «да, есть механизм в web.config для автоматического дешифрования моего SHA1 PWD Примечания.

дешифрования =» Авто»

<machineKey validationKey="MY Validateion Key" 
      decryptionKey="My Decryption Key" 
      validation="SHA1" decryption="Auto" /> 
+2

Неправильно. SHA-1 не может быть «расшифрован», это односторонняя хеширующая функция. SHA1, который вы видите в 'machineKey', относится к проверке ViewState и используется для обнаружения/предотвращения несанкционированного доступа. Это не имеет ничего общего с системой членства. – Aaronaught

+0

Может быть, дешифрование - это просто хэш-чек. В конфигурации OP есть много настраиваемых материалов. :) – Macke