2011-02-15 41 views
5

Tengo algunas preguntas sobre MembershipProvider en .Net a las que no he podido encontrar respuestas claras.ASP.NET MembershipProvider encryption/decryption

  • ¿Qué tipo de cifrado se utiliza, AES?
  • El método EncryptPassword, ¿puede manejar cualquier sal, o simplemente lo agrego antes de pasarlo?
  • El método DecryptPassword - ¿realmente puede descifrar la contraseña? ¿No es una mala práctica para poder hacer?

¡Gracias por la entrada!

Respuesta

4

add Element for providers for membership (ASP.NET Settings Schema)

  • enablePasswordRetrieval atribuyen: "especifica si la instancia del proveedor de pertenencia es compatible con la recuperación de la contraseña Si es verdad, la instancia proveedor de pertenencia es compatible con la recuperación de la contraseña El valor por defecto es falso, tanto para el SQL y proveedores de Active Directory.. "
  • passwordFormat atributo: "Uno de los valores de MembershipPasswordFormat que indica el formato para almacenar contraseñas en el almacén de datos de membresía. El valor predeterminado es Hashed."
    • hash: "Las contraseñas se cifran unidireccional utilizando el algoritmo de hash SHA1 Puede especificar un algoritmo de hash diferente que el algoritmo SHA1 utilizando el atributo hashAlgorithmType."
    • Encriptado: "Las contraseñas encriptadas se encriptan usando la configuración de encriptación determinada por la configuración del elemento machineKey Element (ASP.NET Settings Schema)".

Así, por defecto el SqlMembershipProvider utiliza una contraseña hash (unidireccional) que se hash SHA1 con. Hashing the passwords no usa los métodos EncryptPassword/DecryptPasswords, pero no, no puedes pasar sales manualmente a Encryption/Encoding of password (las guarda para ti).

Cuestiones relacionadas