Uno de los puntos importantes es que SecureString implementa CriticalFinalizerObject, lo cual significa que SecureString se considera una Región de ejecución restringida (Constrained Ejecution Region - CER) lo que significa que las excepciones de tipo out-of-band estan prohibidas en regiones de tipo CER por lo que evitamos que cierta parte del código no se ejecute (con el fin de liberar de memoria el objeto SecureString llamando la función Dispose()). Se debe tener en cuenta que SecureString se mantiene en una región no administrada de la memoria, por lo que es nuestra responsabilidad liberar ese recurso.
Nota: Considera que no tiene caso almacenar una contraseña o cualquier dato sensible en un string y pasarlo como parámetro para agregarlo a un objeto SecureString si no eliminamos de memoria ese string inmediatamente despues de utilizarlo.
Utilizar SecureString.
una de las formas en que podemos utilizar SecureString en combinación con las propiedades (get & set):
En mi caso marqué la propiedad get como privada para accesar únicamente desde la misma clase. |
No hay comentarios:
Publicar un comentario