Si asumes que el programa tiene que comprobar todas las posibilidades de contraseñas posibles empezando por el mínimo hasta la longitud real de tu contraseña, entonces una contraseña de longitud 8 (longitud mínima 8), tardaría 2*10^14 conjeturas para comprobar todas las contraseñas, asumiendo 62 caracteres posibles para cada posición (26 inferiores, 26 superiores, 8 números). Aumentando la longitud de la contraseña a 32, se necesitarían 2*10^57 para comprobar todas las posibilidades.
Si se permiten también 7 caracteres especiales, una contraseña de 8 caracteres tiene 5*10^14 posibilidades, y la de 32 caracteres tiene 7*10^58.
Divida esos números por su supuesto número que se puede comprobar por segundo o minuto para obtener el tiempo que podría tardar. Tenga en cuenta que en este escenario, en promedio se esperaría encontrar la última iteración después de un promedio de 1/2 de las posibilidades.
Así que si usted puede comprobar 10.000 contraseñas/segundo, una contraseña de 8 caracteres tomaría alrededor de 1*10^10 segundos, o alrededor de 317 años.
La mayoría de las contraseñas son hackeadas de forma más sencilla, ya que mucha gente utiliza contraseñas trivialmente simples (password1 es popular), o un sitio hackeado captura su contraseña.
Aún así, la mejor práctica es utilizar contraseñas largas que no se basen en entradas de diccionario, y contraseñas diferentes para cada sitio. Luego guarde las contraseñas en un gestor de contraseñas para salvar su cordura. Yo cambio todas mis contraseñas importantes con regularidad por si acaso el servidor es hackeado, o caigo presa de uno de los correos de phishing, etc.