Re: Passworteingabe ohne Ausgabe der Zeichen
"Schmitt, Wolfgang (BKA-IT22)" wrote:
Ein Kollege sucht nach einer ANSI-C Funktion, mit der man aus einem Programm heraus auf einer Konsole nach einem Passwort gefragt wird. Bei der Eingabe soll man die eingegebenen Zeichen nicht sehen.
Für diese Aufgabe fällt mir so spontan nur getpass ein, ...
Hat jemand eine Idee? Muss aber ANSI-C sein, damit man das C-Prgramm auch auf Windows-Kisten kompilieren und zum Laufen bringen kann.
... leider könnte das damit ein Problem werden. Die Tatsache, daß getpass in unistd.h definiert wird, macht da wenig Hoffnung. Aber vielleicht ist die Funktion ja unter Windows auch vorhanden. Falls unter Windows eine andere C-Funktion für diesen Zweck zur Verfügung gestellt wird, könnte man sich ja auch mit einem Konstrukt der Art #ifdef WINDOWS /* Windows-Loesung */ #else pass = getpass(prompt); #endif behelfen. Das nur als Anregung, mit einer konkreten Lösung kann ich leider auch nicht dienen. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/
* Eilert Brinkmann schrieb am 24.Jul.2001:
"Schmitt, Wolfgang (BKA-IT22)" wrote:
Ein Kollege sucht nach einer ANSI-C Funktion, mit der man aus einem Programm heraus auf einer Konsole nach einem Passwort gefragt wird. Bei der Eingabe soll man die eingegebenen Zeichen nicht sehen.
Für diese Aufgabe fällt mir so spontan nur getpass ein, ...
Wird das nicht über eine Einstellung an der Device geregelt? So nach dem Motto: stty < /dev/ttyX -echo mir fällt jetzt nicht der entsprechende Befehl auf C-Ebene zu stty ein. Oder wie wird das noch mal gemacht? Bernd -- Homepages von deutschsprachigen Linux-Gurus: Kristian Köhntopp: http://www.koehntopp.de/kris/artikel/ Sven Guckes: http://www.math.fu-berlin.de/~guckes/sven Robin S Socha: http://socha.net/index2.html |Zufallssignatur 10
participants (2)
-
B.Brodesser@t-online.de
-
Eilert Brinkmann