¿Debe un espacio en una contraseña contar como un símbolo al verificar la complejidad?

3

No tengo ninguna duda de que se deben permitir espacios en las contraseñas. Veo que algunos sitios web no permiten espacios, símbolos en contraseñas e incluso imponen una longitud mínima que parece t Totalmente sin sentido para mí.

Normalmente verifico que las contraseñas de los usuarios contengan:

  1. mínimo de 6 caracteres
  2. Letras mayúsculas
  3. letras minúsculas
  4. Números
  5. símbolos

Aquí está mi pregunta:

¿A cuál de estas categorías debería pertenecer el espacio? ¿Puedo contarlo como un símbolo? ¿O está en su propia categoría y no agrega más que longitud a la complejidad percibida de la contraseña?

Contar un espacio como un símbolo permitiría la siguiente contraseña:

"Ab1 "

¿Qué francamente no parece seguro, por lo que debería permitir que los espacios cuenten como símbolos? (¿Y agregan suficiente complejidad a la contraseña para ser contada como símbolos?)

Esta es la función de JavaScript que usualmente usaría para verificar las contraseñas, pero dada la contraseña anterior, esta función devolverá falsa, considerándola insuficientemente compleja.

function checkPassword(password) {
    if (password.match(/[A-Z]/) 
      && password.match(/[a-z]/) 
      && password.match(/[0-9]/) 
      && password.match(/[£:#@~\.,|(etc....)]/) 
      && password.length >= 6) {
        return true;
    } else {
        return false;
    }  
} 
    
pregunta nettux 30.05.2014 - 14:26
fuente

1 respuesta

7

Desde una perspectiva de complejidad, no importa si clasifica un espacio como un símbolo o en una clase propia, cuantos más caracteres se puedan usar en una contraseña, más difícil será descifrar, siempre que las personas usen el La complejidad a su máximo potencial.

Desde una perspectiva práctica, dado que el código que aparece arriba de su mejor apuesta es agregarlo a la lista de símbolos, como si lo agregara como una línea separada, lo haría un requisito para colocar en un espacio , lo que anularía el propósito, ya que sería un regalo para cualquiera que busque descifrar sus contraseñas; ya conocen a uno de los personajes.

Debo señalar que el argumento que usas diciendo que "Ab1 " no es una buena contraseña iría para cualquiera de los otros símbolos que permitas, ya que el código trataría a "Ab1@@@" de la misma manera. "AAAb1 " y "Abbb1 " serían igualmente permisibles y tampoco más fuertes.

Mi recomendación principal para ti sería requerir contraseñas más largas, ya que 6 caracteres son bastante débiles, sin importar los requisitos de complejidad que tengas. 8, o preferiblemente 9 caracteres serían órdenes de magnitud más fuertes.

    
respondido por el GdD 30.05.2014 - 15:05
fuente

Lea otras preguntas en las etiquetas