SqlMembershipProvider.PasswordFormat Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient une valeur indiquant le format de stockage des mots de passe dans la base de données d’appartenance 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
Valeur de propriété
L’une des valeurs MembershipPasswordFormat indiquant le format de stockage des mots de passe dans la base de données SQL Server.
Exemples
L’exemple de code suivant montre l’élément d’appartenance 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
.
<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>
Remarques
Utilisez Hashed
uniquement et Clear
Encrypted
ne sont pas sécurisés.
Hashed
les mots de passe sont hachés à l’aide d’un algorithme de hachage unidirectionnel et d’une valeur de sel générée de manière aléatoire lorsqu’ils sont stockés dans la base de données. Lorsqu'un mot de passe est validé, il est haché avec la valeur salt 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.
Encrypted
les mots de passe 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.
La PasswordFormat valeur est spécifiée dans la section fournisseurs du fichier Web.config pour l’application ASP.NET.
Encrypted
et Hashed
les mots de passe sont chiffrés ou hachés par défaut en fonction des informations fournies dans l’élément machineKey dans votre configuration. Notez que si vous spécifiez une valeur de 3DES
pour l’attribut validation
, ou si aucune valeur n’est spécifiée, les mots de passe hachés seront hachés à l’aide de l’algorithme SHA1 .
Un algorithme de hachage personnalisé peut être défini à l’aide de l’attribut hashAlgorithmType
de l’élément de configuration élément d’appartenance (ASP.NET Settings Schema). Si vous choisissez le chiffrement, le chiffrement de mot de passe par défaut utilise AES. Vous pouvez modifier l’algorithme de chiffrement en définissant l’attribut decryption
de l’élément de configuration machineKey . Si vous chiffrez des mots de passe, vous devez fournir une valeur explicite pour l’attribut dans l’élément decryptionKey
machineKey . La valeur par défaut de pour l’attribut n’est pas prise en charge lors de AutoGenerate
l’utilisation decryptionKey
de mots de passe chiffrés avec ASP.NET appartenance.
En raison de problèmes de collision avec SHA1, Microsoft recommande un modèle de sécurité basé sur SHA256 ou supérieur.