Język

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

Nazwa Wartość Opis
Clear 0

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

Hashed 1

Hasła są szyfrowane jednokierunkowo przy użyciu algorytmu wyznaczania skrótu SHA1. Można określić algorytm wyznaczania wartości skrótu inny niż algorytm SHA1 przy użyciu atrybutu hashAlgorithmType .

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

Encrypted 2

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

Przykłady

W poniższym przykładzie przedstawiono element machineKey (schemat ustawień ASP.NET) w sekcji system.web 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 algorytmem 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 ich używać Hashedtylko i ClearEncrypted 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ż ujawnić klucz szyfrowania. Oznacza to, że zaszyfrowane hasła można odszyfrować i uwidocznić. Hasła są szyfrowane podczas przechowywania i można je odszyfrować na potrzeby porównania haseł lub pobierania haseł. Skróty haseł są szyfrowane przy użyciu jednokierunkowego skrótu 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ł.

Note

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ż