A pesar de la promoción de la visibilidad, los cierres no presentan ningún problema de seguridad nuevo.
Esto se debe a la sencilla razón de que la visibilidad (es decir, privada / pública) no es un mecanismo de seguridad en primer lugar.
Solo porque marcó su campo de contraseña como private
, no significa que no sea accesible. No se puede acceder a , sino solo al código que se comporta bien.
Todavía es fácilmente accesible en código, por ejemplo. a través de la reflexión. (Por supuesto, los consumidores de su clase no deberían hacer eso ...)
Y eso es incluso sin entrar en cosas como depuración, inspección de memoria, etc ...
Entonces, como dije, no afecta el nivel de seguridad. Necesitaría proteger ese campo de Contraseña, pero tendría que hacerlo de todos modos.
(Sugerencia: almacene las contraseñas como SecureString
en lugar de cadenas ...)