C :: Aufgabe #120
1 Lösung
Console - ReadPassword Methode
Anfänger - C
von DrizZle
- 15.06.2016 um 13:48 Uhr
Ihr kennt sicherlich die Einstellung für die TextBox in der Windows Form in der man den User Input sofort in ein belibigen Password Char umwandeln kann (in der Regel '*'). Diese Möglichkeit hat man in der Console nicht. Die Aufgabe besteht darin jeden Tastaturschlag des Users abzufangen und in ein '*' umzuwandeln und auszugeben. Sprich ihr erstellt eure eigene Read Methode. Das Passwort soll später trotz allem als Text ausgegeben werden können.
Vorlage:
C#-Code
Vorlage:
class ReadPass
{
static void main(string[] args)
{
Console.Write("Passwort: ");
string password = ReadPassword();
}
string ReadPassword()
{
...
}
}Lösungen:
#include <ncurses.h>
#define ENTER_KEYCODE 10
#define PASSW_CHAR '*'
int main()
{
char pw[64];
char *ppw = pw;
int ch;
initscr();
raw();
noecho();
printw("Password: ");
while (1) {
if((ch = getch()) == ENTER_KEYCODE)
break;
else {
*ppw++ = ch;
printw("%c", PASSW_CHAR);
refresh();
}
}
printw("\nYour password is '%s'.\n", pw);
printw("Press any key.\n");
getch();
endwin();
return 0;
}
