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 3DESvalidation 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.