Hay un punto clave que apenas se está tocando aquí y que se aborda un poco más en el hilo de UX que has vinculado, que me gustaría resaltar.
El campo de confirmación de contraseña, por sí solo, no sirve para ningún propósito de seguridad . Sin embargo, sirve como un suplemento de usabilidad para aliviar los dolores de cabeza que de otra manera podrían ser causados por algo que es una función de seguridad.
La razón por la que los usuarios confirman sus contraseñas es porque no pueden ver su contraseña en pantalla cuando las ingresan. La razón por la que no les permitimos ver la contraseña en pantalla es para evitar que los navegantes, cámaras de seguridad, usuarios de escritorio compartidos y herramientas de captura de pantalla vean la contraseña.
Si el campo de la contraseña permaneciera desenmascarado, sería razonable hacerlo sin la confirmación de la contraseña. Ya puede ver esto en acción en algunas aplicaciones (KeePass es un ejemplo) que le permite enmascarar / desenmascarar selectivamente el campo de contraseña. En esas aplicaciones, el campo de confirmación de contraseña solo se habilita cuando la contraseña está enmascarada.
El propósito del cuadro de diálogo de confirmación de contraseña es como una comprobación de validez para el usuario. No se puede confiar en los usuarios para que ingresen su contraseña sin errores el 100% del tiempo, y mucho menos cuando no pueden verificar visualmente la contraseña antes de enviarla. Sin embargo, es muy poco probable que un usuario vaya a hacer "dedo gordo" su contraseña de la misma manera dos veces seguidas. Esto permite que un usuario esté relativamente seguro de que está configurando la contraseña según lo que cree que es, sin tener que comprometer la seguridad al mostrarla en la pantalla.
Por supuesto, debe entenderse que esto solo es necesario en la fase de registro. Esto se debe a que solo tiene una oportunidad, durante la configuración, de configurar su contraseña antes de comprometerse con ella. Al iniciar sesión, obtienes múltiples intentos. Un error de una sola vez al iniciar sesión es mucho menos costoso de lo que sería (sin el campo de confirmación) en el registro.