SqlMembershipProvider.PasswordFormat Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera wartość wskazującą format przechowywania haseł w bazie danych członkostwa programu 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
Wartość właściwości
MembershipPasswordFormat Jedna z wartości wskazująca format przechowywania haseł w bazie danych programu SQL Server.
Przykłady
Poniższy przykład kodu przedstawia element członkostwa w system.web
sekcji pliku Web.config dla aplikacji ASP.NET. Określa wystąpienie aplikacji SqlMembershipProvider i ustawia jego format hasła 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>
Uwagi
Używaj Hashed
tylko Clear
i Encrypted
nie są bezpieczne.
Hashed
hasła są skrótami przy użyciu jednokierunkowego algorytmu skrótu i losowo wygenerowanej wartości soli podczas przechowywania w bazie danych. Po zweryfikowaniu hasła jest ono oznaczane wartością soli w bazie danych na potrzeby weryfikacji. Nie można pobrać skrótów haseł.
Encrypted
hasła nie są uważane za bezpieczne, ponieważ naruszenie, które ujawnia zawartość bazy danych, może również ujawnić klucz szyfrowania. Oznacza to, że zaszyfrowane hasła mogą zostać odszyfrowane i ujawnione.
Wartość jest określona PasswordFormat w sekcji providers pliku Web.config dla aplikacji ASP.NET.
Encrypted
i Hashed
hasła są domyślnie szyfrowane lub skróty na podstawie informacji podanych w elemecie machineKey w konfiguracji. Należy pamiętać, że jeśli określisz wartość atrybutu 3DES
validation
lub jeśli nie określono żadnej wartości, skróty haseł zostaną skróty przy użyciu algorytmu SHA1 .
Niestandardowy algorytm wyznaczania wartości skrótu można zdefiniować przy użyciu hashAlgorithmType
atrybutu elementu członkostwa (ASP.NET Ustawienia Schemat) konfiguracji. W przypadku wybrania szyfrowania domyślne szyfrowanie haseł używa algorytmu AES. Algorytm szyfrowania można zmienić, ustawiając decryption
atrybut elementu konfiguracji machineKey . W przypadku szyfrowania haseł należy podać jawną wartość atrybutu decryptionKey
w elemecie machineKey . Wartość domyślna atrybutu AutoGenerate
decryptionKey
nie jest obsługiwana w przypadku używania zaszyfrowanych haseł z członkostwem ASP.NET.
Ze względu na problemy z kolizją z algorytmem SHA1 firma Microsoft zaleca model zabezpieczeń oparty na algorytmie SHA256 lub lepszym.