Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Passwortabfrage

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.09.2002, 09:33 Uhr
FDellas



Hallo.

Ich will eine kleine Passwortabfrage programmieren. Dabei soll die Eingabe als Sternchen angezeigt werden. Funktioniert auch so wei ganz gut. Nur die einzelnen ASCII-Codes werden nicht auf mein char-Array übertragen. Jedes Zeichen erhält den Code 1. Ich weiß nicht mehr weiter. Dieses Programm ist teilweise noch mit altem C-Standart geschrieben -- ich bitte um vergebung --.

Hier der Code:


C++:
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <time.h>

using namespace std;

const char UserPasswd[3][50] = {"fdellas8580","230279","knuffel"};
const char User[3][50] = {"FDellas","GVollberg","AWerner"};

bool checkPassword(const char *pw)
{
  srand ((unsigned) time(NULL));
  unsigned char ch;
  char passwd[21];
  int i = 0;
  cin.clear();
  cin.sync();
  while (ch = getch() != '\r' && i < 20)
  {
    passwd[i++] = ch;
    for (i=0; i<rand()%5+1; i++)
      cout << "*";
  }
  passwd[i] = '\0';
  cout << "\n\n" << pw << endl;
  cout << "\n\n" << passwd << endl;
  for (i=0; i<strlen(passwd); i++)
    cout << static_cast <int> (passwd[i]) << " ";
  if (!strcmp(passwd, pw))
    return true;
  else
    return false;
};

int main()
{
  char Username[50];
  cout << "Dieser Bereich erfordert Authentifizierung. Bitte Username und Passwort eingeben:" << endl;
  cout << "Username:\t";
  cin >> Username;
  for (int i=0; i<3; i++)
    if (!strcmp(Username, User[i]))
      break;
  if (i==3)
  {
    cout << "\n\nUnbekannter Username!!. Programm wird beendet." << endl;
    exit (1);
  }
  cout << "Passwort:\t";
  if (checkPassword(UserPasswd[i]))
  {
    cout << "\n\nAuthentifizierung erfolgreich. Zugang gewährt " << User << endl;
    exit (0);
  }
  else
  {
    cout << "\n\nFalsches Passwort. Programm wird beendet." << endl;
    exit (1);
  }
  return 0;
};


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.09.2002, 10:03 Uhr
FDellas



OK. Antwort gefunden. Wer lesen kann ist klar im Vorteil. Doppelte Nutzung von i.

Jetzt tut es alles.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: