Estaba leyendo sobre PwdHash y me inspiró a crear un pequeño proyecto donde ingresas una contraseña maestra y un alias fácil de recordar en un hash de contraseña, como bcrypt, y luego obtienes un hash.
Hasta ahora todo bien; ese hash debería ser bastante seguro y nadie debería poder adivinar mi contraseña maestra.
El problema es que este hash no es realmente una contraseña utilizable. Por ejemplo, el sitio web tiene todo tipo de requisitos para la contraseña, como no más de 20 caracteres, debe contener símbolo, número, minúscula y mayúscula, no debe comenzar con un número, etc. ...
Entonces: hash + requisitos = contraseña utilizable
Pero tengo una preocupación. ¿Es posible que al aplicar los requisitos al hash para generar una contraseña utilizable, perderé parte de la seguridad que produce el hash?
Por ejemplo, digamos que el hash tiene 60 caracteres y la contraseña no puede tener más de 20 caracteres. ¿Es malo tomar solo los 20 primeros caracteres del hash? ¿Sería mejor producir los 20 caracteres de la contraseña combinando los 60 caracteres del hash?
Entonces la pregunta general es:
¿Cómo debo proceder para crear una contraseña utilizable a partir de ese hash? ¿Tengo que preocuparme?