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! Zitieren
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. Zitieren
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; } Zitieren
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 Zitieren
Klotzkopp Geschrieben 17. Juli 2002 Geschrieben 17. Juli 2002 @Goos: Vorschlag: char passw[11]; Zitieren
Jay Peg Geschrieben 17. Juli 2002 Autor Geschrieben 17. Juli 2002 Ich danke euch, das hilft mir weiter!! Zitieren
Goos Geschrieben 17. Juli 2002 Geschrieben 17. Juli 2002 @Klotzkopp: ........mist ertappt *schaem* Goos Zitieren
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. Zitieren
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 Zitieren
Freak4life Geschrieben 18. Oktober 2002 Geschrieben 18. Oktober 2002 Wo guckst denn dafür nach???? Zitieren
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 Zitieren
Kaustobiolith Geschrieben 18. Oktober 2002 Geschrieben 18. Oktober 2002 Und wieder was neues gelernt Danke Zitieren
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 //--------------------------------------------------------------------------- Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.