MembershipPasswordFormat Enumeración

Definición

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

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

Campos

Nombre Valor Description
Clear 0

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

Hashed 1

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

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

Encrypted 2

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

Ejemplos

En el ejemplo siguiente se muestra el elemento machineKey (esquema de configuración de ASP.NET) en la sección system.web del archivo Web.config para una aplicación de ASP.NET. Especifica la instancia de la SqlMembershipProvider aplicación 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 Hashed; Clear y Encrypted no son seguros. Las contraseñas no son seguras y no deben usarse. 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 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 salado 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. No se pueden recuperar contraseñas con hash.

Note

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