En general, la complejidad no es tan importante como la longitud, sin embargo, la complejidad más la protección de aumento de longitud contra intentos de contraseña de fuerza bruta pura.
Su ejemplo de! Pf-4 se rompería rápidamente sin importar la "complejidad" porque la cantidad de intentos para adivinar sería como máximo 7,820,126,495 (95 ^ 5 + 95 ^ 4 + 95 ^ 3 + 95 ^ 2 + 95) Siendo 95 el número de caracteres posibles. Un Core i7 lo romperá en ningún momento.
Por cada aumento en la longitud de la contraseña, aumenta el número de conjeturas requeridas por una magnitud de potencia. El problema real es que la mayoría de los crackers de contraseñas que saben lo que están haciendo utilizan ataques de diccionario personalizados junto con ataques de fuerza bruta que pueden comprometer incluso frases de paso largo con bastante facilidad.
También puede depender de qué hash criptográfico se utilizó para cifrar las contraseñas. Hay problemas de seguridad conocidos con algunos hashes como MD5 y hay hashes más fuertes como bcrypt que se consideran algoritmos de hashing "lentos" porque requieren más tiempo para revisar cada hash.
Le recomendaría que revise este artículo sobre el descifrado de contraseñas.
enlace