Eingabegen z.b nen PW als *ne Verschlüsseln?

Also ich habe eine frage geht das i-wie dass ich die eingaben eines Passwortes verschlüssele mit *** wie bei Inetseiten? Wäre lieb wenn mir jemand helfen könnte :) Danke :)

Hier der QC :)

Code:
//Zugang zu einem Passwortgesichertem Serverraum
//10.01.2006 (c) by Marco Franke

#include <iostream.h>
#include <string.h>
#include <windows.h>
#include <stdio.h>

int main()
{
	// Wird gebraucht um Text farbig auszugeben
    HANDLE        hStdout;
    // Handle holen
    hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 

	int i,length=9, j;
	int o = 10;			// Wie oft?;
	int wartezeit=100, wartezeit1=1000;		// Millisekunden wartezeit
	char pw[9]="8 Kb Ram", passwort[9];

		SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN | FOREGROUND_BLUE);
		cout<<"\t\t\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB";
		cout<<"\n\t\t\t\xBA (c) 2006 by Marco Franke \xBA";
		cout<<"\n\t\t\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC"<<endl<<endl;
		SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		
		for(i=3;i>0;i--)
		{
			cout<<"\n\tSie haben noch "<<i<<" Versuche!";
			cout<<"\n\tBitte geb dein 'Passwort' ein \xAF ";
			cin.getline(passwort,length);
			cout<<"\n\tPasswort wird ueberprueft bitte warten!"<<endl;
			printf(" \t\t\t");

			for(j=1; j<=o; j++)
			{
				SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN);
				printf("\b|");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				Sleep(wartezeit);
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED);
				printf("\b/");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				Sleep(wartezeit);
				SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE);
				printf("\b-");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				Sleep(wartezeit);
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED);
				printf("\b\\");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				Sleep(wartezeit);
				SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE);
				printf("\b ");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
			}
			if(strcmp(passwort, pw) == 0)
			{
				// Farbe setzen
                SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN);
				cout<<"\n\tAccess Granted!"<<endl;
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				cout<<"\n\tSie wurden erfolgreich eingeloggt!"<<endl<<endl;
				cin.ignore();
				Sleep(10000);
				break;
			}

			else
			{
				// Siehe oben
                SetConsoleTextAttribute(hStdout, FOREGROUND_RED);
				cout<<"\n\tAccess Denied!"<<endl;
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				cin.ignore();

				if(i==1)
					{
						cout<<"\n\tIhre Karte wird nun eingezogen!";
						cout<<"\n\tBitte wenden sie sich an den Administrator!"<<endl<<endl;
						Sleep(1000);
						break;
					}
			}
		}
		
	return 1;
}
 
Hallo,
2 Minuten Google:
Code:
/*
    password.c - Passwortabfrage ohne Echo
*/

# include <stdio.h>
# include <unistd.h>
# include <fcntl.h>
# include <termios.h>

int main()
 {
  int old_flags;
  char password[16];
  struct termios term_attr;

  if (tcgetattr(STDIN_FILENO, &term_attr) != 0)
   {
    perror("password: tcgetattr() failed");
    return(1);
   }             /* alte Einst. sichern */
  old_flags = term_attr.c_lflag;
  term_attr.c_lflag &= ~ECHO;
  if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &term_attr) != 0)
    perror("password: tcsetattr() failed");

  printf("password: ");
  scanf("%15s", password);
            /* Std.-Eingabe wie vorher */
  term_attr.c_lflag = old_flags;
  if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &term_attr) != 0)
    perror("password: tcsetattr() failed");

  if (strcmp(password, "secret") == 0)
    printf("\npassword accepted.\n");
  else
    printf("\nwrong password.\n");

  return(0);
 }

Stellt die Ausgabe der Eingabe am Bildschirm ab.

Eine Möglichkeit mit **** in einer Konsole habe ich bisher noch nicht so gesehen, es wird so gut wie immer die Ausgabe abgestellt.
 
Ich weiss nicht ob du sowas meinst

Code:
//Zugang zu einem Passwortgesichertem Serverraum
//10.01.2006 (c) by Marco Franke

#include <iostream.h>
#include <string.h>
#include <windows.h>
#include <stdio.h>
#include <conio.h>

void readpw(char *pw)
{   
    int i = 0;
  
    // Alle Werte auf 0 setzen
    memset((void*) pw, 0, 9);
    
    while((*(pw + i++) = (char)getch()) != '\r' && i < 9)
    {
        cout << "*";
    }
    
    // Carriage Return löschen
    *(pw + --i) = '\0';
}

int main()
{
	// Wird gebraucht um Text farbig auszugeben
    HANDLE        hStdout;
    // Handle holen
    hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 

	int i,length=9, j;
	int o = 10;			// Wie oft?;
	int wartezeit=100, wartezeit1=1000;		// Millisekunden wartezeit
	char pw[9] = "8 Kb Ram", passwort[9];

		SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN | FOREGROUND_BLUE);
		cout<<"\t\t\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB";
		cout<<"\n\t\t\t\xBA (c) 2006 by Marco Franke \xBA";
		cout<<"\n\t\t\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC"<<endl<<endl;
		SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		
		for(i=3;i>0;i--)
		{
			cout<<"\n\tSie haben noch "<<i<<" Versuche!";
			cout<<"\n\tBitte geb dein 'Passwort' ein \xAF ";
			readpw(passwort);
			cout<<"\n\tPasswort wird ueberprueft bitte warten!"<<endl;
			printf(" \t\t\t");

			for(j=1; j<=o; j++)
			{
				SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN);
				printf("\b|");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				Sleep(wartezeit);
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED);
				printf("\b/");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				Sleep(wartezeit);
				SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE);
				printf("\b-");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				Sleep(wartezeit);
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED);
				printf("\b\\");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				Sleep(wartezeit);
				SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE);
				printf("\b ");
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
			}
			if(strcmp(passwort, pw) == 0)
			{
				// Farbe setzen
                SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN);
				cout<<"\n\tAccess Granted!"<<endl;
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				cout<<"\n\tSie wurden erfolgreich eingeloggt!"<<endl<<endl;
				cin.ignore();
				Sleep(10000);
				break;
			}

			else
			{
				// Siehe oben
                SetConsoleTextAttribute(hStdout, FOREGROUND_RED);
				cout<<"\n\tAccess Denied!"<<endl;
				SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
				cin.ignore();

				if(i==1)
					{
						cout<<"\n\tIhre Karte wird nun eingezogen!";
						cout<<"\n\tBitte wenden sie sich an den Administrator!"<<endl<<endl;
						Sleep(1000);
						break;
					}
			}
		}
		
	return 1;
}
 
Zurück
Oben