Passwörter aus std::cin ohne Echo lesen
Es besteht regelmäßig die Notwendigkeit, Passwörter aus der Standardeingabe ohne Echo der Eingabezeichen zu lesen. Um dies zu erreichen, ist es wichtig, das Echo auf std::cin zu deaktivieren.
Unterschiede zwischen Windows und UNIX
Die Methode zum Deaktivieren des Echos hängt vom Betriebssystem ab. In Windows werden die Funktionen GetConsoleMode und SetConsoleMode verwendet, während in UNIX-ähnlichen Systemen tcgetattr und tcsetattr verwendet werden.
Implementierung der Lösung
Das bereitgestellte Code-Snippet enthält eine betriebssystemunabhängige Funktion, SetStdinEcho, die das Umschalten des Echos für std::cin ermöglicht. Außerdem wird eine Beispielverwendung bereitgestellt, die zeigt, wie man ein Passwort ohne Echo liest und es dann echot, wenn der Benutzer die Eingabetaste drückt:
#include <iostream> #include <string> int main() { SetStdinEcho(false); std::string password; std::cin >> password; SetStdinEcho(true); std::cout << password << std::endl; return 0; }
Dieser Code stellt sicher, dass das Passwort des Benutzers während der Eingabe und Anzeige bei erfolgreicher Eingabe privat bleibt .
Das obige ist der detaillierte Inhalt vonWie kann ich Passwörter aus der Standardeingabe lesen, ohne sie wiederzugeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!