Hallo,
Ich weiss nicht ob ich jetzt einen denkfehler hab oder nicht:
Random RandomZeichen = new Random();
public SecureString AntiWindietrich(int PasswortZeichenanzahl)
{
SecureString Datenuebertragung = new SecureString();
// FehlerCode PasswortZeichenanzahl = 0
if (PasswortZeichenanzahl == 0)
{
Beep(Frequenz1, Dauer1);
Thread.Sleep(Pause);
Beep(Frequenz2, Dauer2);
Thread.Sleep(Pause);
Beep(Frequenz1, Dauer1);
}
string Zeichen = null;
string ZeichenOUT = null;
for (int Zeichenanzahl = 0; Zeichenanzahl < PasswortZeichenanzahl; Zeichenanzahl++)
{
int Zeichenuebergabe = RandomZeichen.Next(1, 85);
// ABC [ Klein ]
if (Zeichenuebergabe == 1) { Zeichen = "a"; Thread.Sleep(10); }
if (Zeichenuebergabe == 2) { Zeichen = "b"; Thread.Sleep(15); }
if (Zeichenuebergabe == 3) { Zeichen = "c"; Thread.Sleep(10); }
if (Zeichenuebergabe == 4) { Zeichen = "d"; Thread.Sleep(15); }
if (Zeichenuebergabe == 5) { Zeichen = "e"; Thread.Sleep(10); }
if (Zeichenuebergabe == 6) { Zeichen = "f"; Thread.Sleep(15); }
if (Zeichenuebergabe == 7) { Zeichen = "g"; Thread.Sleep(10); }
if (Zeichenuebergabe == 8) { Zeichen = "h"; Thread.Sleep(15); }
if (Zeichenuebergabe == 9) { Zeichen = "i"; Thread.Sleep(10); }
if (Zeichenuebergabe == 10) { Zeichen = "j"; Thread.Sleep(15); }
if (Zeichenuebergabe == 11) { Zeichen = "k"; Thread.Sleep(10); }
if (Zeichenuebergabe == 12) { Zeichen = "l"; Thread.Sleep(15); }
if (Zeichenuebergabe == 13) { Zeichen = "m"; Thread.Sleep(10); }
if (Zeichenuebergabe == 14) { Zeichen = "n"; Thread.Sleep(15); }
if (Zeichenuebergabe == 15) { Zeichen = "o"; Thread.Sleep(10); }
if (Zeichenuebergabe == 16) { Zeichen = "p"; Thread.Sleep(15); }
if (Zeichenuebergabe == 17) { Zeichen = "q"; Thread.Sleep(10); }
if (Zeichenuebergabe == 18) { Zeichen = "r"; Thread.Sleep(15); }
if (Zeichenuebergabe == 19) { Zeichen = "s"; Thread.Sleep(10); }
if (Zeichenuebergabe == 20) { Zeichen = "t"; Thread.Sleep(15); }
if (Zeichenuebergabe == 21) { Zeichen = "u"; Thread.Sleep(10); }
if (Zeichenuebergabe == 22) { Zeichen = "v"; Thread.Sleep(15); }
if (Zeichenuebergabe == 23) { Zeichen = "w"; Thread.Sleep(10); }
if (Zeichenuebergabe == 24) { Zeichen = "x"; Thread.Sleep(15); }
if (Zeichenuebergabe == 25) { Zeichen = "y"; Thread.Sleep(10); }
if (Zeichenuebergabe == 26) { Zeichen = "z"; Thread.Sleep(15); }
// ABC [ Gross ]
if (Zeichenuebergabe == 27) { Zeichen = "A"; Thread.Sleep(10); }
if (Zeichenuebergabe == 28) { Zeichen = "B"; Thread.Sleep(15); }
if (Zeichenuebergabe == 29) { Zeichen = "C"; Thread.Sleep(10); }
if (Zeichenuebergabe == 30) { Zeichen = "D"; Thread.Sleep(15); }
if (Zeichenuebergabe == 31) { Zeichen = "E"; Thread.Sleep(10); }
if (Zeichenuebergabe == 32) { Zeichen = "F"; Thread.Sleep(15); }
if (Zeichenuebergabe == 33) { Zeichen = "G"; Thread.Sleep(10); }
if (Zeichenuebergabe == 34) { Zeichen = "H"; Thread.Sleep(15); }
if (Zeichenuebergabe == 35) { Zeichen = "I"; Thread.Sleep(10); }
if (Zeichenuebergabe == 36) { Zeichen = "J"; Thread.Sleep(15); }
if (Zeichenuebergabe == 37) { Zeichen = "K"; Thread.Sleep(10); }
if (Zeichenuebergabe == 38) { Zeichen = "L"; Thread.Sleep(15); }
if (Zeichenuebergabe == 39) { Zeichen = "M"; Thread.Sleep(10); }
if (Zeichenuebergabe == 40) { Zeichen = "N"; Thread.Sleep(15); }
if (Zeichenuebergabe == 41) { Zeichen = "O"; Thread.Sleep(10); }
if (Zeichenuebergabe == 42) { Zeichen = "P"; Thread.Sleep(15); }
if (Zeichenuebergabe == 43) { Zeichen = "Q"; Thread.Sleep(10); }
if (Zeichenuebergabe == 44) { Zeichen = "R"; Thread.Sleep(15); }
if (Zeichenuebergabe == 45) { Zeichen = "S"; Thread.Sleep(10); }
if (Zeichenuebergabe == 46) { Zeichen = "T"; Thread.Sleep(15); }
if (Zeichenuebergabe == 47) { Zeichen = "U"; Thread.Sleep(10); }
if (Zeichenuebergabe == 48) { Zeichen = "V"; Thread.Sleep(15); }
if (Zeichenuebergabe == 49) { Zeichen = "W"; Thread.Sleep(10); }
if (Zeichenuebergabe == 50) { Zeichen = "X"; Thread.Sleep(15); }
if (Zeichenuebergabe == 51) { Zeichen = "Y"; Thread.Sleep(10); }
if (Zeichenuebergabe == 52) { Zeichen = "Z"; Thread.Sleep(15); }
// Zahlen
if (Zeichenuebergabe == 53) { Zeichen = "0"; Thread.Sleep(10); }
if (Zeichenuebergabe == 54) { Zeichen = "1"; Thread.Sleep(15); }
if (Zeichenuebergabe == 55) { Zeichen = "2"; Thread.Sleep(10); }
if (Zeichenuebergabe == 56) { Zeichen = "3"; Thread.Sleep(15); }
if (Zeichenuebergabe == 57) { Zeichen = "4"; Thread.Sleep(10); }
if (Zeichenuebergabe == 58) { Zeichen = "5"; Thread.Sleep(15); }
if (Zeichenuebergabe == 59) { Zeichen = "6"; Thread.Sleep(10); }
if (Zeichenuebergabe == 60) { Zeichen = "7"; Thread.Sleep(15); }
if (Zeichenuebergabe == 61) { Zeichen = "8"; Thread.Sleep(10); }
if (Zeichenuebergabe == 62) { Zeichen = "9"; Thread.Sleep(15); }
// Sonderzeichen
if (Zeichenuebergabe == 63) { Zeichen = " "; Thread.Sleep(10); }
if (Zeichenuebergabe == 64) { Zeichen = "§"; Thread.Sleep(15); }
if (Zeichenuebergabe == 65) { Zeichen = "$"; Thread.Sleep(10); }
if (Zeichenuebergabe == 66) { Zeichen = "%"; Thread.Sleep(15); }
if (Zeichenuebergabe == 67) { Zeichen = "&"; Thread.Sleep(10); }
if (Zeichenuebergabe == 68) { Zeichen = "?"; Thread.Sleep(15); }
if (Zeichenuebergabe == 69) { Zeichen = "*"; Thread.Sleep(10); }
if (Zeichenuebergabe == 70) { Zeichen = "-"; Thread.Sleep(15); }
if (Zeichenuebergabe == 81) { Zeichen = "+"; Thread.Sleep(10); }
if (Zeichenuebergabe == 82) { Zeichen = "#"; Thread.Sleep(15); }
if (Zeichenuebergabe == 83) { Zeichen = "ß"; Thread.Sleep(10); }
if (Zeichenuebergabe == 84) { Zeichen = "@"; Thread.Sleep(15); }
ZeichenOUT = ZeichenOUT + Zeichen;
}
// Es wird Zeichen für Zeichen zu " Datenuebertragung " hinzufügen.
for (int i = 0; i < ZeichenOUT.Length; i++)
{
Datenuebertragung.AppendChar(ZeichenOUT<img src="http://dotnet-forum.de/emoticons/emotion-55.gif" alt="Idea" />);
}
ZeichenOUT = null;
// Sicherübergabe mit SecureString
return (Datenuebertragung);
}
}Mein Problem ist das " ZeichenOUT = ZeichenOUT + Zeichen; " ZeichenOUT ist im Nicht sicheren Bereich wie kann man die
Operation " ZeichenOUT = ZeichenOUT + Zeichen; " mit " Datenuebertragung " ( SecureString ) Machen?
Denn ich will das man das nicht auslesen (Ram) kann !!
PS: Warum ist das immer Linksbündig? Und wie bekomm ich das weg?
PPS: Entweder es ist Linksbündig oder ich hab zwischen jeder Zeile eine Leerzeile!! Der Button Formatierung entfernt Funzt net!
[:'(]
MFG Oliver G