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 bezpieczne, nie używaj. Hasła nie są szyfrowane. |
Encrypted | 2 | Nie bezpieczne, 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 wartości skrótu SHA1. Za pomocą atrybutu można określić algorytm wyznaczania wartości skrótu inny niż algorytm Ze względu na problemy z kolizją z sha1 firma Microsoft zaleca SHA256. |
Przykłady
W poniższym przykładzie pokazano element machineKey (ASP.NET Ustawienia Schema) w sekcji pliku Web.config dla ASP.NET system.web
aplikacji. Określa wystąpienie aplikacji i ustawia SqlMembershipProvider format hasła na Hashed
.
W tym przykładzie jest używany 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 obsługuje różne formaty przechowywania haseł, ale należy używać tylko funkcji SqlMembershipProvider ; i nie są one Hashed
Clear
Encrypted
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ą uznawane za bezpieczne, ponieważ naruszenie ujawniace zawartość bazy danych może również ujawnić klucz szyfrowania. Oznacza to, że zaszyfrowane hasła mogą zostać odszyfrowane i ujawnione. Hasła są szyfrowane podczas przechowywania i można je odszyfrować na potrzeby porównywania haseł lub pobierania haseł. Skróty haseł są szyfrowane przy użyciu jednokierunkowego skrótu, gdy są przechowywane w bazie danych. Po weryfikacji hasła jest ono łączone z wartością "salt", a następnie ma wartość skrótu. Wynik jest porównywany z wartością w bazie danych do weryfikacji. Nie można pobrać skrótów haseł.
Uwaga
Jeśli nie znasz funkcji członkostwa programu ASP.NET zobacz Wprowadzenie do członkostwa przed kontynuowaniem. Aby uzyskać listę innych tematów związanych z członkostwem, zobacz Managing Users by Using Membership (Zarządzanie użytkownikami za pomocą członkostwa).