Sichere Strings unter .NET

Manchmal möchte man eine Zeichenkette im Arbeitsspeicher nicht länger als nötig im Klartext vorhalten. Hierfür gibt es unter .NET/Mono die Klasse “SecureString”. Diese verschlüsselt den Klartext, so das dieser nicht ohne weiteres im Speicher zu finden ist. Leider ist die Nutzung der “SecureString” etwas komplizierter:

SecureString secureString=new SecureString();
secureString.AppendChar('g');
secureString.AppendChar('e');
secureString.AppendChar('h');
secureString.AppendChar('e');
secureString.AppendChar('i');
secureString.AppendChar('m');

// in Klartext umwandeln
IntPtr secureStringPointer=Marshal.SecureStringToBSTR(secureString);
string klartext=Marshal.PtrToStringAuto(secureStringPointer);

Hier muss man abwägen, ob sich die Nutzung eines solches Konstruktes lohnt, oder man weiterhin normale Strings für sensible Daten nutzt.


Dir gefällt dieser Beitrag und du möchtest helfen? Werde Mitglied und unterstütze mich.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.