Compartir a través de


SqlMembershipProvider.PasswordFormat Propiedad

Definición

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

MembershipPasswordFormat

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

Ejemplos

En el ejemplo de código siguiente se muestra el elemento membership de 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 .

<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 algoritmo 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 descodifica con el valor salt de la base de datos para su verificación. Las contraseñas descodificadas no se pueden recuperar. Encrypted Las contraseñas 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.

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

Encrypted Las contraseñas y Hashed se cifran o se aplica un algoritmo 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 hash.

Se puede definir un algoritmo hash personalizado mediante el hashAlgorithmType atributo del elemento de configuración membership Element (ASP.NET Configuración Schema). 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 . El valor predeterminado de AutoGenerate para el decryptionKey atributo no se admite 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 mejor.

Se aplica a

Consulte también