Tanto el uso / restricción de caracteres especiales en las contraseñas está relacionado con la mejora de diferentes aspectos de la seguridad.
Cuando un sitio requiere que use contraseñas con cierta longitud mínima o incluya al menos un carácter numérico, un carácter especial, etc. Quieren obligar al usuario a crear una contraseña segura que sea menos susceptible a los ataques de fuerza bruta (es decir, .. 12345 no va a volar).
Del mismo modo, restringir ciertos caracteres / longitud puede considerarse un mecanismo de defensa (débil) contra ataques como la inyección de SQL. Aunque tenga en cuenta que un atacante puede pasar por alto fácilmente las restricciones de la interfaz de usuario. Además, los sitios web pueden imponer restricciones a ciertos caracteres (como espacios en blanco) dependiendo de cómo analizan / procesan las contraseñas.
En general, limitar las contraseñas no es en sí una buena idea.