SqlMembershipProvider.PasswordFormat Eigenschap

Definitie

Hiermee wordt een waarde opgehaald die de indeling aangeeft voor het opslaan van wachtwoorden in de SQL Server lidmaatschapsdatabase.

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

Waarde van eigenschap

Een van de MembershipPasswordFormat waarden, die de notatie voor het opslaan van wachtwoorden in de SQL Server-database aangeeft.

Voorbeelden

In het volgende codevoorbeeld ziet u het element lidship in de sectie system.web van het Web.config-bestand voor een ASP.NET-toepassing. Hiermee geeft u het exemplaar van SqlMembershipProvider de toepassing op en stelt de wachtwoordindeling in op 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>

Opmerkingen

Hashed Alleen gebruiken Clear en Encrypted zijn niet beveiligd. Hashed wachtwoorden worden gehasht met behulp van een hash-algoritme in één richting en een willekeurig gegenereerde zoutwaarde wanneer ze worden opgeslagen in de database. Wanneer een wachtwoord wordt gevalideerd, wordt het gehasht met de zoutwaarde in de database voor verificatie. Hash-wachtwoorden kunnen niet worden opgehaald. Encrypted wachtwoorden worden niet als veilig beschouwd, omdat een schending die aangeeft dat de inhoud van uw database ook de versleutelingssleutel beschikbaar kan maken. Dit betekent dat uw versleutelde wachtwoorden kunnen worden ontsleuteld en weergegeven.

De PasswordFormat-waarde wordt opgegeven in de sectie providers van het Web.config-bestand voor de ASP.NET-toepassing.

Encrypted en Hashed wachtwoorden worden standaard versleuteld of gehasht op basis van informatie die is opgegeven in het element machineKey in uw configuratie. Als u een waarde 3DES voor het validation kenmerk opgeeft of als er geen waarde is opgegeven, worden gehashte wachtwoorden gehasht met behulp van het SHA1 algoritme.

Een aangepast hash-algoritme kan worden gedefinieerd met behulp van het kenmerk hashAlgorithmType van het membership-element (ASP.NET-instellingenschema) configuratie-element. Als u versleuteling kiest, gebruikt standaardwachtwoordversleuteling AES. U kunt het versleutelingsalgoritmen wijzigen door het decryption kenmerk van het machineKey-configuratie-element in te stellen. Als u wachtwoorden versleutelt, moet u een expliciete waarde opgeven voor het decryptionKey kenmerk in het element machineKey . De standaardwaarde van AutoGenerate voor het kenmerk decryptionKey wordt niet ondersteund bij het gebruik van versleutelde wachtwoorden met ASP.NET Lidmaatschap.

Vanwege conflictproblemen met SHA1 raadt Microsoft een beveiligingsmodel aan op basis van SHA256 of beter.

Van toepassing op

Zie ook