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
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 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ć Hashed
tylko 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.