tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
597
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    partitionist partitionist ist offline Mitglied Brokat
    Registriert seit
    Mar 2005
    Ort
    HKEY_LOCAL_MACHINE\S oftware\Microsoft\Wi ndows\CurrentVersion \Run
    Beiträge
    476
    '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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
    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;
    }
     

  2. #2
    Registriert seit
    Mar 2004
    Beiträge
    441
    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:
    ^ ° | ² ³ \ % § ~ ' ´ `
     

  3. #3
    Avatar von FBIagent
    FBIagent FBIagent ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    281
    Vieleicht kannst du etwas mit der Klasse im Anhang anfangen.
    Angehängte Dateien Angehängte Dateien
     
    Don't blame people for bugs. Work together to make things better. No
    finger pointing! Not ever! A good rule is to Never Assume An Attack.
    If you find yourself getting angry, assume it's a misunderstanding, not an
    attack.

Ähnliche Themen

  1. Passworteingabe mit SWT und syncexec
    Von deinertsche im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 23.12.09, 02:11
  2. Passworteingabe und weiterleitung
    Von supser im Forum PHP
    Antworten: 7
    Letzter Beitrag: 30.05.07, 23:22
  3. Passworteingabe im Formular
    Von supser im Forum PHP
    Antworten: 10
    Letzter Beitrag: 31.03.07, 16:27
  4. Sternchen für Passworteingabe
    Von ewsd im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 07.08.06, 14:42
  5. Passworteingabe bei Win98
    Von Skinnner im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 05.06.05, 17:36