MembershipPasswordFormat Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 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.