Jay Peg Geschrieben 17. Juli 2002 Geschrieben 17. Juli 2002 Hi leute, ich würde gerne eine kleine Consolen Anwendung schreiben welche ein Passwort verlangt. die eingabe des Passwortes sollte nicht angezeigt werden, bzw. mann sollte nur Sternchen sehen... ->Wie kann ich das realisieren?? ->Gibt es da schon eine Funktion? - muss ich dazu eine bestimmte Bibliothek includen?? Ich verwende den Dev-C++ Compiler ver. 4.9 Danke im Vorraus!
gajUli Geschrieben 17. Juli 2002 Geschrieben 17. Juli 2002 Dazu musst Du an Dein System ran, d. h. die Zeichendarstellung der Console muss veraendert werden mit einer compilerspezifischen Funktion. Mit reinen Standardsprachmitteln ist es m. E. nicht moeglich.
gugelhupf Geschrieben 17. Juli 2002 Geschrieben 17. Juli 2002 Hmmm...ist zwar keine schöne Lösung ( C und C++ gemischt) und nur schnell zusammengeschustert, aber Du kannst das ja modifizieren. Das Prog bricht halt nach 10 Eingaben ab und gibt das Passwort aus. #include <iostream> #include <string> #include <conio.h> using namespace std; int main(int argc, char** argv) { char myChar = 'a'; string pass = ""; while(1) { myChar = getch(); pass += myChar; if(pass.length() == 10) break; cout << "*"; } cout << endl << pass; cin.get(); return 0; }
Goos Geschrieben 17. Juli 2002 Geschrieben 17. Juli 2002 Also meine Version find ich schoener printf("Passwort:"); char passw[10]; int i = 0; char c; c = getch(); while(c != char(0x0D) && i < 10) { putch('*'); passw[i] = c; i++; c = getch(); } passw[i] = 0x00; printf("\nDas Passwort war:%s\n",passw);[/PHP] Goos
Jay Peg Geschrieben 17. Juli 2002 Autor Geschrieben 17. Juli 2002 Ich danke euch, das hilft mir weiter!!
Goos Geschrieben 17. Juli 2002 Geschrieben 17. Juli 2002 @Klotzkopp: ........mist ertappt *schaem* Goos
Kaustobiolith Geschrieben 17. Oktober 2002 Geschrieben 17. Oktober 2002 Habe bei meinem Thread leider auf den falschen Button gedrückt, jetzt ist der closed Daher frage ich eben hier: Goos, kannst Du mir folgende Zeile erklären? while(c != char(0x0D) && i < 10) Die while-Schleife als solche ist klar, nur mit dem 0x0D kann ich nichts anfangen.
Goos Geschrieben 17. Oktober 2002 Geschrieben 17. Oktober 2002 Das mit dem 0x0D is einfach nur fuer die Entertaste mit der die Passwort Eingabe abgeschlossen werden soll. Du koenntest....was weiss ich...*nachguck*...auch 0x4D nehmen, dann hoert die Eingabe halt auf, sobald du ein M eingibst Ich hoffe, das hilft dir weiter. Goos
Goos Geschrieben 18. Oktober 2002 Geschrieben 18. Oktober 2002 Nuja...man nehme zum Beispiel eine ASCII Tabelle, oder man probierts aus indem man sich den Code der entsprechenden Taste holt. z.B. mit int c = getch(); c = getch(); printf("Sondertaste mit Code %d", c); [/PHP] ...was aber nur bei Sondertasten funktioniert.....alle anderen muesstest in dem einfachen Beispiel doppelt druecken Hier wuerdest dann fuer Enter eine 13 bekommen, was Hexadezimal notiert dann das 0x0D waere. Goos
Kaustobiolith Geschrieben 18. Oktober 2002 Geschrieben 18. Oktober 2002 Und wieder was neues gelernt Danke
Keybee Geschrieben 22. Oktober 2002 Geschrieben 22. Oktober 2002 Jetzt folgt ein Consolenprogramm, das euch den Zugang ins PENTAGON ermöglicht! *lol* Aber vorsicht! Nach dem dritten fehlerhaften Versuch, bricht es ab und piept! *g* Das Programm benutzt Bibliotheken aus dem BORLAND C-BUILDER 5! //--------------------------------------------------------------------------- #include <stdio.h> #include <conio.h> #include <string.h> void main() { const char *pers_nr = "666"; //Zugangsnr (MAXIMAL 8 ZEICHEN) const char *code = "drin"; //Zugangscode (MAXIMAL 8 ZEICHEN) char *ab_pers; //Abgefragte Zugangsnr char *ab_code; //Abgefragter Zuganscode int i = 0; //Schleifendurchläufe int codeguard; //Rückgabewert des Stringvergleiches for(i=0;i<3;) { printf(" ENTRY TO PENTAGON\n"); printf(" ~~~~~~~~~~~~~~~~~\n"); ab_pers = getpass(" IDNR: "); printf(" \n"); codeguard = strcmp(pers_nr, ab_pers); if((codeguard > 0) || (codeguard < 0)) { i++; gotoxy(45, 30); printf("!! WRONG IDNR !!\n"); gotoxy(45, 31); printf("!! ACCESS DENIED !!\n "); if(i == 3) { gotoxy(45, 33); printf("!! SYSTEM ABBORTED !!\n\a "); getch(); continue; } else { getch(); clrscr(); continue; } }//if ab_code = getpass(" PASSWORD: "); printf(" \n"); codeguard = strcmp(code, ab_code); if((codeguard > 0) || (codeguard < 0)) { i++; gotoxy(45, 30); printf("!! WRONG PASS !!\n"); gotoxy(45, 31); printf("!! ACCESS DENIED !!\n "); if(i == 3) { gotoxy(45, 33); printf("!! SYSTEM ABBORTED !!\n\a "); getch(); continue; } else { getch(); clrscr(); continue; } }//if gotoxy(45, 30); printf("!! ACCESS GRANTED !!\n\a "); i = 3; getch(); }//for }//main //---------------------------------------------------------------------------
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden