SqlMembershipProvider.PasswordFormat Eigenschaft
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.
Ruft einen Wert ab, der das Format zum Speichern von Kennwörtern in der SQL Server-Mitgliedschaftsdatenbank angibt.
public:
virtual property System::Web::Security::MembershipPasswordFormat PasswordFormat { System::Web::Security::MembershipPasswordFormat get(); };
public override System.Web.Security.MembershipPasswordFormat PasswordFormat { get; }
member this.PasswordFormat : System.Web.Security.MembershipPasswordFormat
Public Overrides ReadOnly Property PasswordFormat As MembershipPasswordFormat
Eigenschaftswert
Einer der MembershipPasswordFormat-Werte, der das Format zum Speichern von Kennwörtern in der SQL Server-Datenbank angibt.
Beispiele
Das folgende Codebeispiel zeigt das Membership-Element 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
.
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="MyApplication" />
</providers>
</membership>
Hinweise
Verwenden Sie Hashed
nur, Clear
und Encrypted
sind nicht sicher.
Hashed
Kennwörter werden mithilfe eines unidirektionalen Hashalgorithmus und eines zufällig generierten Saltwerts gehasht, wenn sie in der Datenbank gespeichert werden. Wenn ein Kennwort überprüft wird, wird es mit dem Saltwert in der Datenbank für die Verifizierung verschlüsselt. Verschlüsselte Kennwörter können nicht abgerufen werden.
Encrypted
Kennwörter gelten als nicht sicher, da eine Sicherheitsverletzung, die Den Datenbankinhalt offenlegt, 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.
Der PasswordFormat Wert wird im Abschnitt providers der Web.config-Datei für die ASP.NET-Anwendung angegeben.
Encrypted
Kennwörter und Hashed
werden standardmäßig verschlüsselt oder gehasht, basierend auf den Informationen, die im machineKey-Element in Ihrer Konfiguration angegeben werden. Wenn Sie den Wert für 3DES
das validation
Attribut angeben oder kein Wert angegeben ist, werden Hashkennwörter mithilfe des SHA1 Algorithmus gehasht.
Ein benutzerdefinierter Hashalgorithmus kann mithilfe des hashAlgorithmType
Attributs des Konfigurationselements membership Element (ASP.NET Settings Schema) definiert werden. Wenn Sie verschlüsselung auswählen, verwendet die Standardkennwortverschlüsselung AES. Sie können den Verschlüsselungsalgorithmus ändern, indem Sie das decryption
Attribut des konfigurationselements machineKey festlegen. Wenn Sie Kennwörter verschlüsseln, müssen Sie einen expliziten Wert für das decryptionKey
Attribut im machineKey-Element angeben. Der Standardwert für AutoGenerate
das decryptionKey
Attribut wird nicht unterstützt, wenn verschlüsselte Kennwörter mit ASP.NET Mitgliedschaft verwendet werden.
Aufgrund von Problemen durch Konflikte mit SHA1 wird von Microsoft ein Sicherheitsmodell empfohlen, das mindestens auf SHA256 basiert.