Sdílet prostřednictvím


SqlMembershipProvider.PasswordFormat Vlastnost

Definice

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.

Platí pro

Viz také