MembershipPasswordFormat Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Descrive il formato di crittografia per l'archiviazione delle password per gli utenti di appartenenza.
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- Ereditarietà
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| Clear | 0 | Non sicuro, non usare. Le password non vengono crittografate. |
| Hashed | 1 | Le password vengono crittografate unidirezionale usando l'algoritmo hash SHA1. È possibile specificare un algoritmo hash diverso dall'algoritmo SHA1 usando l'attributo A causa di problemi di conflitto con SHA1, Microsoft consiglia SHA256. |
| Encrypted | 2 | Non sicuro, non usare. Le password vengono crittografate usando le impostazioni di crittografia determinate dalla configurazione dell'elemento machineKey. |
Esempio
Nell'esempio seguente viene illustrato l'elemento machineKey (schema ASP.NET Settings) nella sezione system.web del file Web.config per un'applicazione ASP.NET. Specifica l'istanza dell'applicazione e imposta il formato della SqlMembershipProvider password su Hashed.
In questo esempio viene usato SHA1. A causa di problemi di conflitto con SHA1, Microsoft consiglia 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>
Commenti
La SqlMembershipProvider classe supporta diversi formati di archiviazione delle password, ma è consigliabile usare Hashedsolo ; Clear e Encrypted non sono sicuri. Le password non crittografate non sono sicure e non devono essere usate. Vengono archiviati in testo normale. Le password crittografate non sono considerate sicure, come violazione che rivela il contenuto del database può anche esporre la chiave di crittografia. Ciò significa che le password crittografate potrebbero essere decrittografate ed esposte. Le password vengono crittografate quando archiviate e possono essere decrittografate per il confronto delle password o il recupero delle password. Le password con hash vengono crittografate usando un hash saltato unidirezionale quando vengono archiviate nel database. Quando viene convalidata una password, viene combinata con un valore salt e quindi sottoposto a hashing. Il risultato viene confrontato con il valore nel database per la verifica. Impossibile recuperare le password con hash.
Note
Se non si ha familiarità con le funzionalità di appartenenza di ASP.NET, vedere Introduzione all'appartenenza prima di continuare. Per un elenco di altri argomenti relativi all'appartenenza, vedere Gestione degli utenti tramite l'appartenenza.