Wie findet ihr die Passworteingabe...

partitionist

Erfahrenes Mitglied
'Ich möchte bei der Passworteingabe die Ausgabe mit den Zeichen * verdecken.
Die Eingabe soll in einem string gespeichert werden, schaut euch bitte denn Code an und sagt mir ob es Verbesserungsvorschläge gibt.

Code:
string LOGIN()
{
    cout << "Login:";
    fontRed();

    unsigned short int laenge = 15;
    char Ersatzzeichen = '*';

    string passwd;
    char akt('\0');

    while((laenge-- >0)&&(akt!=13) && (akt!=10))
    {
        // Zeichen einlesen
        akt = getch();
        if ( akt == 0 || akt == 0xE0 ) //Bei Sonderzeichen zweites Zeichen ignorieren
        {    
            getch ();
            continue;
        }
        else if ( akt == 8 ) // Backspace abfangen
        {
        // Wenn bereits Zeichen im String vorhanden sind
            if ( passwd.length () != 0 )
            {
                passwd.erase(passwd.end() - 1);
                cout << "\b \b";
                laenge += 2;
            }
        }
        else if ( akt != 13 ) // Wenn Zeichen normal dann an das Passwort anhängen
        {
            passwd = passwd + akt;
            cout << Ersatzzeichen;
        }
    }
    textcolor(white);


    return passwd;
}
 
Rein prinzipiell würde ich auf alle Fälle noch eine Abfrage einbauen, daß der Benutzer ausschließlich alphanumerische ASCII-Zeichen eingeben kann, sonst kommst du allerspätestens mit länderspezifischen Zeichen (ASCII > 128) relativ bald in Teufels Küche. Ist aber eine eher philosophische Frage. Einige meinen, durch das Zulassen solcher Sonderzeichen würde das Paßwort sicherer werden. Ich bin eher von der Fraktion, die maximal eine Handvoll von Sonderzeichen zulässt, damit weitere Bearbeitungen des Paßworts einfach bleiben. Es kann z.B. für einen einfachen Benutzer eine echte Herausforderung sein, auf einer englischen Tastatur ä, ö, ü oder ß einzugeben, vor allem, wenn man die Eingabe nicht sieht. Ebenso würde ich das " deaktivieren, genauso wie die ersten ASCII-Steuercodes von 0 bis ca. 20 (hab's jetzt nicht auswendig im Kopf). Weitere bedenkenswerte Zeichen:
^ ° | ² ³ \ % § ~ ' ´ `
 
Zurück