MembershipPasswordFormat Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Beskriver krypteringsformatet för lagring av lösenord för medlemskapsanvändare.
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- Arv
Fält
| Name | Värde | Description |
|---|---|---|
| Clear | 0 | Inte säker, använd inte. Lösenord krypteras inte. |
| Hashed | 1 | Lösenord krypteras enkelriktat med sha1-hashalgoritmen. Du kan ange en hash-algoritm som skiljer sig från SHA1-algoritmen med hjälp av attributet På grund av kollisionsproblem med SHA1 rekommenderar Microsoft SHA256. |
| Encrypted | 2 | Inte säker, använd inte. Lösenord krypteras med hjälp av krypteringsinställningarna som bestäms av machineKey-elementkonfigurationen. |
Exempel
I följande exempel visas elementet machineKey (ASP.NET Settings Schema) i avsnittet system.web i filen Web.config för ett ASP.NET program. Den anger programmets instans och anger dess lösenordsformat SqlMembershipProvider till Hashed.
I det här exemplet används SHA1. På grund av kollisionsproblem med SHA1 rekommenderar Microsoft 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>
Kommentarer
Klassen SqlMembershipProvider har stöd för olika format för lösenordslagring, men du bör bara använda Hashedoch ClearEncrypted är inte säker. Tydliga lösenord är inte säkra och bör inte användas. De lagras i oformaterad text. Krypterade lösenord anses inte vara säkra, eftersom ett intrång som avslöjar ditt databasinnehåll också kan exponera krypteringsnyckeln. Det innebär att dina krypterade lösenord kan dekrypteras och exponeras. Lösenord krypteras när de lagras och kan dekrypteras för lösenordsjämförelse eller lösenordshämtning. Hashade lösenord krypteras med hjälp av en enkelriktad saltad hash när de lagras i databasen. När ett lösenord verifieras kombineras det med ett saltvärde och hashas sedan. Resultatet jämförs med värdet i databasen för verifiering. Hashade lösenord kan inte hämtas.
Note
Om du inte är bekant med medlemskapsfunktionerna i ASP.NET kan du läsa Introduction to Membership innan du fortsätter. En lista över andra ämnen som rör medlemskap finns i Hantera användare med hjälp av medlemskap.