C # SecureString pregunta

¿Hay alguna manera de obtener el valor de un SecureString sin incluir la seguridad? Por ejemplo, en el código a continuación, tan pronto como lo hace PtrToStringBSTR, la cadena ya no es segura porque las cadenas son inmutables y la recolección de basura no es determinista para las cadenas.

IntPtr ptr = Marshal.SecureStringToBSTR(SecureString object);
string value = Marshal.PtrToStringBSTR(ptr);

¿Qué pasaría si hubiera una forma de obtener un char [] o un byte [] de la cadena BSTR no administrada? ¿Eso significa que la recolección de basura es más predecible (ya que estaría usando un char [] o un byte [] en lugar de una cadena? ¿Es correcto este supuesto, y si es así, cómo recuperaría el char [] o el byte []?

Respuestas a la pregunta(5)

Su respuesta a la pregunta