29 Stimmen

Aufforderung zur Eingabe eines Passworts in einer Haskell-Befehlszeilenanwendung

Das folgende Haskell-Programm fordert den Benutzer im Terminal zur Eingabe eines Passworts auf und fährt fort, wenn er das richtige eingegeben hat:

main = do
    putStrLn "Password:"
    password <- getLine

    case hash password `member` database of
        False -> putStrLn "Unauthorized use!"
        True  -> do
                 ...

Leider wird das Kennwort auf dem Bildschirm angezeigt, wenn der Benutzer es eingibt, was ich vermeiden möchte.

Wie kann ich eine Folge von Zeichen lesen, die der Benutzer eingibt, ohne dass sie auf dem Bildschirm angezeigt werden? Was ist das Äquivalent zu getLine für diesen Zweck?

Ich arbeite mit MacOS X, aber ich möchte, dass dies auch unter Windows und Linux funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X