Udostępnij za pośrednictwem


MembershipPasswordFormat Wyliczenie

Definicja

Opisuje format szyfrowania do przechowywania haseł dla użytkowników członkostwa.

public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat = 
Public Enum MembershipPasswordFormat
Dziedziczenie
MembershipPasswordFormat

Pola

Clear 0

Nie zabezpieczaj, nie używaj. Hasła nie są szyfrowane.

Encrypted 2

Nie zabezpieczaj, nie używaj. Hasła są szyfrowane przy użyciu ustawień szyfrowania określonych przez konfigurację elementu machineKey.

Hashed 1

Hasła są szyfrowane jednokierunkowo przy użyciu algorytmu wyznaczania skrótu SHA1. Algorytm wyznaczania wartości skrótu różni się od algorytmu SHA1 przy użyciu atrybutu hashAlgorithmType .

Ze względu na problemy z kolizją z sha1 firma Microsoft zaleca sha256.

Przykłady

W poniższym przykładzie przedstawiono element machineKey Element (ASP.NET Settings Schema) 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.

W tym przykładzie użyto algorytmu SHA1. Ze względu na problemy z kolizją z sha1 firma Microsoft zaleca sha256.

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

Uwagi

Klasa SqlMembershipProvider obsługuje różne formaty magazynu haseł, ale należy używać Hashedtylko elementu ; Clear i Encrypted nie są bezpieczne. Wyczyść hasła nie są bezpieczne i nie należy ich używać. Są one przechowywane w postaci zwykłego tekstu. Zaszyfrowane hasła nie są uważane za bezpieczne, ponieważ naruszenie, które ujawnia zawartość bazy danych, może również uwidocznić klucz szyfrowania. Oznacza to, że zaszyfrowane hasła mogą zostać odszyfrowane i ujawnione. Hasła są szyfrowane podczas przechowywania i można je odszyfrować w celu porównania haseł lub pobierania haseł. Skróty haseł są szyfrowane przy użyciu skrótu jednokierunkowego w przypadku przechowywania w bazie danych. Po zweryfikowaniu hasła jest ono łączone z wartością soli, a następnie skrótem. Wynik jest porównywany z wartością w bazie danych na potrzeby weryfikacji. Nie można pobrać skrótów haseł.

Uwaga

Jeśli nie znasz funkcji członkostwa ASP.NET, zobacz Wprowadzenie do członkostwa przed kontynuowaniem. Aby uzyskać listę innych tematów związanych z członkostwem, zobacz Zarządzanie użytkownikami przy użyciu członkostwa.

Dotyczy

Zobacz też