Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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!

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.

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;

}

Also meine Version find ich schoener :D

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

Ich danke euch, das hilft mir weiter!!

  • 2 Monate später...

Habe bei meinem Thread leider auf den falschen Button gedrückt, jetzt ist der closed :rolleyes:

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.

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

Wo guckst denn dafür nach????

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

Und wieder was neues gelernt :)

Danke

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

//---------------------------------------------------------------------------

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.