Partager via


MembershipPasswordFormat Énumération

Définition

Décrit le format de chiffrement pour le stockage des mots de passe des utilisateurs d’appartenance.

public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat = 
Public Enum MembershipPasswordFormat
Héritage
MembershipPasswordFormat

Champs

Clear 0

Non sécurisé, ne pas utiliser. Les mots de passe ne sont pas chiffrés.

Encrypted 2

Non sécurisé, ne pas utiliser. Les mots de passe sont chiffrés à l’aide des paramètres de chiffrement déterminés par la configuration de l’élément machineKey.

Hashed 1

Les mots de passe sont chiffrés à sens unique à l’aide de l’algorithme de hachage SHA1. Vous pouvez spécifier un algorithme de hachage différent de l’algorithme SHA1 à l’aide de l’attribut hashAlgorithmType.

En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.

Exemples

L’exemple suivant montre l’élément machineKey Element (ASP.NET Settings Schema) dans la system.web section du fichier Web.config pour une application ASP.NET. Il spécifie l’instance de SqlMembershipProvider l’application et définit son format de mot de passe sur Hashed.

Cet exemple utilise SHA1. En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.

<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>  

Remarques

La SqlMembershipProvider classe prend en charge différents formats de stockage de mot de passe, mais vous devez uniquement utiliser Hashed; Clear et Encrypted ne sont pas sécurisés. Les mots de passe clairs ne sont pas sécurisés et ne doivent pas être utilisés. Ils sont stockés en texte brut. Les mots de passe chiffrés ne sont pas considérés comme sécurisés, car une violation qui révèle le contenu de votre base de données peut également exposer la clé de chiffrement. Cela signifie que vos mots de passe chiffrés peuvent être déchiffrés et exposés. Les mots de passe sont chiffrés lorsqu’ils sont stockés et peuvent être déchiffrés à des fins de comparaison de mot de passe ou de récupération de mot de passe. Les mots de passe hachés sont chiffrés à l’aide d’un hachage salé unidirectionnel lorsqu’ils sont stockés dans la base de données. Lorsqu’un mot de passe est validé, il est combiné avec une valeur salt, puis haché. Le résultat est comparé à la valeur de la base de données à des fins de vérification. Les mots de passe hachés ne peuvent pas être récupérés.

Notes

Si vous n’êtes pas familiarisé avec les fonctionnalités d’appartenance de ASP.NET, consultez Présentation de l’appartenance avant de continuer. Pour obtenir la liste des autres rubriques relatives à l’appartenance, consultez Gestion des utilisateurs à l’aide de l’appartenance.

S’applique à

Voir aussi