MembershipPasswordFormat Enumerazione

Definizione

Descrive il formato di crittografia per l'archiviazione delle password degli utenti di appartenenza.

public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat = 
Public Enum MembershipPasswordFormat
Ereditarietà
MembershipPasswordFormat

Campi

Clear 0

Non sicuro, da non usare. Le password non sono crittografate.

Encrypted 2

Non sicuro, da non usare. Le password vengono crittografate usando le impostazioni di crittografia determinate dalla configurazione dell'elemento machineKey.

Hashed 1

Le password vengono crittografate in modo unidirezionale mediante l'algoritmo di hash SHA1. È possibile specificare un algoritmo hash diverso dall'algoritmo SHA1 usando l'attributo hashAlgorithmType.

A causa di problemi di conflitto con SHA1, Microsoft consiglia SHA256.

Esempio

L'esempio seguente illustra l'elemento machineKey Element (ASP.NET Impostazioni Schema) nella sezione del system.web file Web.config per un'ASP.NET app. Specifica l'istanza dell'applicazione SqlMembershipProvider e imposta il formato della password su Hashed .

In questo esempio viene utilizzato 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 formati di archiviazione delle password diversi, ma è consigliabile usare solo ; e non Hashed sono Clear Encrypted 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, in quanto una violazione che rivela il contenuto del database può esporre anche la chiave di crittografia. Ciò significa che le password crittografate possono essere decrittografate ed esposte. Le password vengono crittografate quando vengono archiviate e possono essere decrittografate per il confronto o il recupero delle password. Le password con hash vengono crittografate usando un hash unidireico con salt quando vengono archiviate nel database. Quando una password viene convalidata, viene combinata con un valore salt e quindi viene eseguito l'hashing. Il risultato viene confrontato con il valore nel database per la verifica. Le password con hash non possono essere recuperate.

Nota

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 correlati all'appartenenza, vedere Gestione degli utenti tramite l'appartenenza.

Si applica a

Vedi anche