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 Element (ASP.NET Settings Schema) en la system.web sección del archivo Web.config para una aplicación de ASP.NET. Especifica la instancia de la SqlMembershipProvider aplicación y establece su formato Hashedde contraseña en .

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 Hashed; Clear y Encrypted no son 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 que el contenido de la base de datos también puede exponer la clave de cifrado. Esto significa que las contraseñas cifradas se pueden 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 unidireccional cuando se almacenan en la base de datos. Cuando se valida una contraseña, se combina con un valor de sal 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, consulte Administración de usuarios mediante pertenencia.

Se aplica a

Consulte también