MembershipPasswordFormat Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beschreibt das Verschlüsselungsformat zum Speichern von Kennwörtern für Mitgliedschaftsbenutzer.
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- Vererbung
Felder
Clear | 0 | Nicht sicher – nicht verwenden. Kennwörter werden nicht verschlüsselt. |
Encrypted | 2 | Nicht sicher – nicht verwenden. Kennwörter werden mithilfe der Verschlüsselungseinstellungen verschlüsselt, die durch die Konfiguration des machineKey-Elements festgelegt werden. |
Hashed | 1 | Kennwörter werden mit dem SHA1-Hashalgorithmus unidirektional verschlüsselt. Mit dem Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256. |
Beispiele
Das folgende Beispiel zeigt das machineKey-Element (ASP.NET Settings Schema) im system.web
Abschnitt der Web.config-Datei für eine ASP.NET-Anwendung. Sie gibt die Instanz der SqlMembershipProvider Anwendung an und legt das Kennwortformat auf fest Hashed
.
In diesem Beispiel wird SHA1 verwendet. Microsoft empfiehlt aufgrund der Konflikte mit SHA1 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>
Hinweise
Die SqlMembershipProvider -Klasse unterstützt verschiedene Kennwortspeicherformate, aber Sie sollten nur verwenden Hashed
und Encrypted
Clear
sind nicht sicher. Eindeutige Kennwörter sind nicht sicher und sollten nicht verwendet werden. Sie werden im Nur-Text-Format gespeichert. Verschlüsselte Kennwörter gelten als nicht sicher, da eine Sicherheitsverletzung, die Ihren Datenbankinhalt aufdeckt, auch den Verschlüsselungsschlüssel verfügbar machen kann. Dies bedeutet, dass Ihre verschlüsselten Kennwörter entschlüsselt und verfügbar gemacht werden können. Kennwörter werden verschlüsselt, wenn sie gespeichert werden, und können für den Kennwortvergleich oder den Kennwortabruf entschlüsselt werden. Hashkennwörter werden mit einem unidirektionierten gesalzenen Hash verschlüsselt, wenn sie in der Datenbank gespeichert werden. Wenn ein Kennwort überprüft wird, wird es mit einem Salt-Wert kombiniert und dann mit einem Hash versehen. Das Ergebnis wird zur Überprüfung mit dem Wert in der Datenbank verglichen. Verschlüsselte Kennwörter können nicht abgerufen werden.
Hinweis
Wenn Sie mit den Mitgliedschaftsfeatures von ASP.NET nicht vertraut sind, lesen Sie einführung in die Mitgliedschaft , bevor Sie fortfahren. Eine Liste mit anderen Themen im Zusammenhang mit der Mitgliedschaft finden Sie unter Verwalten von Benutzern mithilfe der Mitgliedschaft.