C # SecureString-Frage

Gibt es eine Möglichkeit, den Wert eines SecureString zu ermitteln, ohne die Sicherheit zu beeinträchtigen? Im folgenden Code ist die Zeichenfolge beispielsweise nicht mehr sicher, sobald Sie PtrToStringBSTR ausführen, da die Zeichenfolgen unveränderlich sind und die Garbage Collection für Zeichenfolgen nicht deterministisch ist.

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

Was wäre, wenn es eine Möglichkeit gäbe, ein Zeichen [] oder Byte [] der nicht verwalteten BSTR-Zeichenfolge abzurufen? Würde dies bedeuten, dass die Speicherbereinigung vorhersehbarer ist (da Sie statt eines Strings ein Zeichen [] oder ein Byte [] verwenden würden? Ist diese Annahme richtig, und wenn ja, wie würden Sie das Zeichen [] oder das Byte [] zurückerhalten?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage