MembershipPasswordFormat Enumeración

Definición

Describe el formato de cifrado para almacenar contraseñas de usuarios de pertenencia.

public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat = 
Public Enum MembershipPasswordFormat
Herencia
MembershipPasswordFormat

Campos

Clear 0

No es seguro, no usar. Las contraseñas no se cifran.

Encrypted 2

No es seguro, no usar. Las contraseñas se cifran mediante la configuración de cifrado determinada por la configuración del elemento machineKey.

Hashed 1

Las contraseñas se cifran de forma unidireccional mediante el algoritmo de hash SHA1. Puede especificar un algoritmo hash diferente del algoritmo SHA1 mediante el atributo hashAlgorithmType.

Debido a problemas de colisión con SHA1, Microsoft recomienda SHA256.

Ejemplos

En el ejemplo siguiente se muestra el elemento machineKey (ASP.NET Configuración Schema) en la sección del archivo Web.config para system.web una ASP.NET aplicación. Especifica la instancia de la aplicación SqlMembershipProvider y establece su formato de contraseña en Hashed .

En este ejemplo se usa SHA1. Debido a problemas de colisión con SHA1, Microsoft recomienda 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>  

Comentarios

La SqlMembershipProvider clase admite diferentes formatos de almacenamiento de contraseñas, pero solo debe usar ; y no son Hashed Clear Encrypted seguros. Las contraseñas no son seguras y no se deben usar. Se almacenan en texto sin formato. Las contraseñas cifradas no se consideran seguras, ya que una infracción que revela el contenido de la base de datos también puede exponer la clave de cifrado. Esto significa que las contraseñas cifradas se podrían descifrar y exponer. Las contraseñas se cifran cuando se almacenan y se pueden descifrar para la comparación de contraseñas o la recuperación de contraseñas. Las contraseñas con hash se cifran mediante un hash con sal un solo uso cuando se almacenan en la base de datos. Cuando se valida una contraseña, se combina con un valor salt y, a continuación, se aplica un algoritmo hash. El resultado se compara con el valor de la base de datos para la comprobación. Las contraseñas descodificadas no se pueden recuperar.

Nota

Si no está familiarizado con las características de pertenencia de ASP.NET, consulte Introducción a la pertenencia antes de continuar. Para obtener una lista de otros temas relacionados con la pertenencia, vea Managing Users by Using Membership.

Se aplica a

Consulte también