MembershipPasswordFormat Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 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 Hashed
de 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.