Condividi tramite


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

Nell'esempio seguente viene illustrato l'elemento machineKey Element (ASP.NET Settings Schema) nella system.web sezione del file Web.config per un'applicazione ASP.NET. Specifica l'istanza dell'applicazione SqlMembershipProvider e imposta il formato della 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 formati di archiviazione password diversi, ma è consigliabile usare Hashedsolo ; Clear e Encrypted non sono sicuri. Le password cancellate 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 hash vengono crittografate usando un hash saltato unidirezionale quando archiviate nel database. Quando viene convalidata una password, 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