SqlMembershipProvider.PasswordFormat Propiedad

Definición

Obtiene un valor que indica el formato para almacenar contraseñas en la base de datos de pertenencia 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

Valor de propiedad

Uno de los valores de MembershipPasswordFormat, que indica el formato para almacenar contraseñas en la base de datos de SQL Server.

Ejemplos

En el ejemplo de código siguiente se muestra el elemento de pertenencia 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 de contraseña en 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>

Comentarios

Use Hashed solo Clear y Encrypted no sea seguro. Hashed las contraseñas se aplica un hash mediante un algoritmo hash unidireccional y un valor de sal generado aleatoriamente cuando se almacenan en la base de datos. Cuando se valida una contraseña, se aplica un hash con el valor salt de la base de datos para su comprobación. No se pueden recuperar contraseñas con hash. Encrypted las contraseñas 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.

El valor PasswordFormat se especifica en la sección providers del archivo Web.config para la aplicación de ASP.NET.

Encrypted y Hashed las contraseñas se cifran o se aplica un hash de forma predeterminada en función de la información proporcionada en el elemento machineKey de la configuración. Tenga en cuenta que si especifica un valor de 3DES para el validation atributo o, si no se especifica ningún valor, las contraseñas con hash se aplicarán mediante el SHA1 algoritmo .

Se puede definir un algoritmo hash personalizado mediante el atributo hashAlgorithmType del elemento de configuración membership (esquema de configuración de ASP.NET). Si elige el cifrado, el cifrado de contraseña predeterminado usa AES. Puede cambiar el algoritmo de cifrado estableciendo el decryption atributo del elemento de configuración machineKey . Si va a cifrar contraseñas, debe proporcionar un valor explícito para el decryptionKey atributo en el elemento machineKey . No se admite el valor predeterminado de AutoGenerate para el atributo decryptionKey al usar contraseñas cifradas con ASP.NET Pertenencia.

Debido a problemas de colisión con SHA1, Microsoft recomienda un modelo de seguridad basado en SHA256 o superior.

Se aplica a

Consulte también