SqlMembershipProvider.PasswordFormat Właściwość

Definicja

Pobiera wartość wskazującą format przechowywania haseł w bazie danych członkostwa SQL Server.

public:
 virtual property System::Web::Security::MembershipPasswordFormat PasswordFormat { System::Web::Security::MembershipPasswordFormat get(); };
public override System.Web.Security.MembershipPasswordFormat PasswordFormat { get; }
member this.PasswordFormat : System.Web.Security.MembershipPasswordFormat
Public Overrides ReadOnly Property PasswordFormat As MembershipPasswordFormat

Wartość właściwości

MembershipPasswordFormat

MembershipPasswordFormat Jedna z wartości wskazująca format przechowywania haseł w bazie danych SQL Server.

Przykłady

Poniższy przykład kodu przedstawia element członkostwa w system.web sekcji pliku Web.config dla aplikacji ASP.NET. Określa wystąpienie aplikacji SqlMembershipProvider i ustawia jego format hasła na Hashed.

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">  
  <providers>  
    <add name="SqlProvider"  
      type="System.Web.Security.SqlMembershipProvider"  
      connectionStringName="SqlServices"  
      enablePasswordRetrieval="false"  
      enablePasswordReset="true"  
      requiresQuestionAndAnswer="true"  
      passwordFormat="Hashed"  
      applicationName="MyApplication" />  
  </providers>  
</membership>  

Uwagi

Używaj Hashed tylko Clear i Encrypted nie są bezpieczne. Hashed hasła są skrótami przy użyciu jednokierunkowego algorytmu skrótu i losowo wygenerowanej wartości soli podczas przechowywania w bazie danych. Po zweryfikowaniu hasła jest ono oznaczane wartością soli w bazie danych na potrzeby weryfikacji. Nie można pobrać skrótów haseł. Encrypted hasła nie są uważane za bezpieczne, ponieważ naruszenie, które ujawnia zawartość bazy danych, może również ujawnić klucz szyfrowania. Oznacza to, że zaszyfrowane hasła mogą zostać odszyfrowane i ujawnione.

Wartość jest określona PasswordFormat w sekcji providers pliku Web.config dla aplikacji ASP.NET.

Encrypted i Hashed hasła są domyślnie szyfrowane lub skróty na podstawie informacji podanych w elememencie machineKey w konfiguracji. Należy pamiętać, że jeśli określisz wartość atrybutu 3DES validation lub jeśli nie określono żadnej wartości, skróty haseł zostaną skróty przy użyciu algorytmu SHA1 .

Niestandardowy algorytm wyznaczania wartości skrótu można zdefiniować przy użyciu hashAlgorithmType atrybutu elementu członkostwa (ASP.NET Ustawienia Schema). W przypadku wybrania szyfrowania domyślne szyfrowanie haseł używa algorytmu AES. Algorytm szyfrowania można zmienić, ustawiając decryption atrybut elementu konfiguracji machineKey . W przypadku szyfrowania haseł należy podać jawną wartość atrybutu decryptionKey w elemecie machineKey . Wartość domyślna atrybutu AutoGenerate decryptionKey nie jest obsługiwana w przypadku używania zaszyfrowanych haseł z członkostwem ASP.NET.

Ze względu na problemy z kolizją z algorytmem SHA1 firma Microsoft zaleca model zabezpieczeń oparty na algorytmie SHA256 lub lepszym.

Dotyczy

Zobacz też