Byte-Array als Eigenschaft (Benutzerebene)?

Eroli

Erfahrenes Mitglied
Hallo,

ich will gerne ein Passwort bei mir speichern. Dies will ich verschlüsseln und dann bekomme ich ein Byte-Array.
Dieses Array würde ich dann gerne als Eigenschaft des Programms speichern, ist das irgendwie machbar? Man kann bei den Settings von .NET 2.0 ja leider nur byte auswählen, aber nicht byte[].

Wie kann ich meinen verschlüsselten String in Form eines Byte-Arrays denn trotzdem irgendwie in diesen Eigenschaften speichern?

PS: Ich meine Programmname.Properties.Settings.Default.MeineEigenschaft


Viele Grüße,
Eroli
 
Vermutlich wirst du das Passwort nicht verschlüsseln, sondern lediglich einen Hash-Wert daraus bilden, oder?

Hier ein Beispiel, welches einen MD5-Hash bildet und dir diesen auch als String zurückliefert, den du dann auch bequem ablegen kannst:

Code:
System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.UTF8.GetBytes(password);
bs = x.ComputeHash(bs);
System.Text.StringBuilder s = new System.Text.StringBuilder();
foreach (byte b in bs)
{
   s.Append(b.ToString("x2").ToLower());
}
password = s.ToString();

Eine andere Möglichkeit besteht darin, dass du überhaupt deine gesamten Settings verschlüsselt (diesmal wirklich verschlüsseln und nicht hashen), aber das wird dann recht schnell aufwendig und kompliziert ...
 
C#:
.ToString("x2")

Was macht das denn?


Ansonsten danke für den Rest, aber so in etwa hatte ich das schon...
 

Neue Beiträge

Zurück