MembershipPasswordFormat Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Popisuje formát šifrování pro ukládání hesel pro uživatele členství.
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- Dědičnost
Pole
Clear | 0 | Není zabezpečené, nepoužívejte. Hesla nejsou šifrovaná. |
Encrypted | 2 | Není zabezpečené, nepoužívejte. Hesla se šifrují pomocí nastavení šifrování určeného konfigurací elementu machineKey. |
Hashed | 1 | Hesla se šifrují jednosměrně pomocí algoritmu hash SHA1. Pomocí atributu můžete zadat algoritmus hash, který se liší od algoritmu Kvůli problémům s kolizí s SHA1 microsoft doporučuje SHA256. |
Příklady
Následující příklad ukazuje element machineKey (ASP.NET Settings Schema) element v system.web
části souboru Web.config pro ASP.NET aplikace. Určuje instanci aplikace SqlMembershipProvider a nastaví její formát hesla na Hashed
.
V tomto příkladu se používá SHA1. Kvůli problémům s kolizí s SHA1 microsoft doporučuje 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>
Poznámky
Třída SqlMembershipProvider podporuje různé formáty úložiště hesel, ale měli byste používat Hashed
pouze ; Clear
a Encrypted
nejsou zabezpečené. Vymazat hesla nejsou zabezpečená a neměla by se používat. Ukládají se ve formátu prostého textu. Šifrovaná hesla nejsou považována za bezpečná, protože porušení zabezpečení, které odhalí obsah databáze, může také vystavit šifrovací klíč. To znamená, že šifrovaná hesla by mohla být dešifrována a zpřístupněna. Hesla se při uložení šifrují a je možné je dešifrovat pro porovnání hesel nebo načtení hesla. Hesla s hodnotou hash se při uložení v databázi šifrují pomocí jednosměrné slané hodnoty hash. Při ověření se heslo zkombinuje s hodnotou soli a pak se použije hodnota hash. Výsledek se porovná s hodnotou v databázi pro účely ověření. Hesla s hodnotou hash nelze načíst.
Poznámka
Pokud nejste obeznámeni s funkcemi členství ASP.NET, přečtěte si téma Úvod do členství , než budete pokračovat. Seznam dalších témat souvisejících s členstvím najdete v tématu Správa uživatelů pomocí členství.