SqlMembershipProvider.PasswordFormat Vlastnost
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í.
Získá hodnotu označující formát pro ukládání hesel v databázi členství systému SQL Server.
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
Hodnota vlastnosti
Jedna z MembershipPasswordFormat hodnot označující formát pro ukládání hesel v databázi SQL Serveru.
Příklady
Následující příklad kódu ukazuje element membership v oddílu system.web
souboru Web.config pro aplikaci ASP.NET. Určuje instanci aplikace SqlMembershipProvider a nastaví její formát hesla na 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>
Poznámky
Clear
Pouze používejte Hashed
a Encrypted
nejsou zabezpečené.
Hashed
Hesla se hashují pomocí jednosměrného hashovacího algoritmu a náhodně generované hodnoty soli při uložení v databázi. Když se heslo ověří, použije se hodnota hash s hodnotou salt v databázi pro účely ověření. Hesla s hodnotou hash nelze načíst.
Encrypted
Hesla nejsou považována za bezpečná, protože porušení zabezpečení, které odhalí obsah vaší databáze, může také vystavit šifrovací klíč. To znamená, že šifrovaná hesla je možné dešifrovat a vystavit.
Hodnota je určena PasswordFormat v oddílu zprostředkovatelů souboru Web.config pro aplikaci ASP.NET.
Encrypted
Hesla a Hashed
se ve výchozím nastavení šifrují nebo hashují na základě informací zadaných v elementu machineKey ve vaší konfiguraci. Všimněte si, že pokud pro atribut zadáte hodnotu 3DES
validation
nebo pokud není zadaná žádná hodnota, budou se hesla s hodnotou hash hashovat pomocí SHA1 algoritmu.
Vlastní hashovací algoritmus lze definovat pomocí atributu hashAlgorithmType
elementu membership Element (ASP.NET Settings Schema) konfiguračního elementu . Pokud zvolíte šifrování, použije se ve výchozím šifrování hesla AES. Šifrovací algoritmus můžete změnit nastavením decryption
atributu elementu konfigurace machineKey . Pokud šifrujete hesla, musíte zadat explicitní hodnotu atributu decryptionKey
v elementu machineKey . Výchozí hodnota AutoGenerate
atributu decryptionKey
není podporována při použití šifrovaných hesel s členstvím ASP.NET.
Kvůli problémům s kolizí s sha1 microsoft doporučuje model zabezpečení založený na algoritmu SHA256 nebo lepším.