Sie wissen, wie Sie unter Linux beim Ausprobieren von Sudo-Inhalten aufgefordert werden, das Kennwort einzugeben, und während der Eingabe wird im Terminalfenster nichts angezeigt (das Kennwort wird nicht angezeigt)?
Gibt es eine Möglichkeit, dies in Python zu tun? Ich arbeite an einem Skript, das so vertrauliche Informationen erfordert, und möchte, dass es beim Tippen ausgeblendet wird.
Mit anderen Worten, ich möchte das Passwort vom Benutzer erhalten, ohne das Passwort anzuzeigen.
quelle
getpass()
ist, dass niemand den Quellcode einsehen und Ihr Passwort herausfinden kann, indem er es liest, und niemand kann Ihr Passwort erhalten, indem er einfach über die Schulter starrt und Ihr Passwort vom Bildschirm liest, wenn Sie es eingeben.getpass funktioniert unter Linux, Windows und Mac.
quelle
Warning (from warnings module): File "C:\Python27\lib\getpass.py", line 92 return fallback_getpass(prompt, stream) GetPassWarning: Can not control echo on the terminal. Warning: Password input may be echoed.
im IDLE, funktionierte aber gut in der Eingabeaufforderung, fand den Grund hierimport sys
):getpass.getpass(
<string>,sys.stderr)
Verwenden Sie dazu getpass .
quelle
Dieser Code druckt anstelle jedes Buchstabens ein Sternchen.
quelle
getpass
Antwort nicht. Gut15.7. getpass - Tragbare Passworteingabe
Sie können mehr lesen hier
quelle
Aktualisierung der Antwort von @Ahmed ALaa
msvcrt uns nur für Windows, aber getch von PyPI sollte für beide funktionieren (ich habe nur mit Linux getestet). Sie können die beiden Zeilen auch kommentieren / auskommentieren, damit sie für Windows funktionieren.
quelle