Wiesz, jak w Linuksie, kiedy wypróbujesz niektóre rzeczy sudo, mówi ci, aby wprowadzić hasło i podczas pisania nic nie jest wyświetlane w oknie terminala (hasło nie jest pokazane)?
Czy jest na to sposób w Pythonie? Pracuję nad skryptem, który wymaga tak poufnych informacji i chciałbym, aby był on ukryty podczas pisania.
Innymi słowy, chcę uzyskać hasło od użytkownika bez pokazywania hasła.
python
command-line
passwords
Nacht
źródło
źródło
getpass()
polega na tym, aby nikt nie mógł spojrzeć na kod źródłowy i znaleźć hasła po prostu czytając je, a nikt nie mógł uzyskać hasła po prostu patrząc przez ramię i czytając hasło poza ekranem podczas wpisywania.getpass działa na systemach Linux, Windows i Mac.
źródło
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.
w IDLE, ale działało dobrze w wierszu polecenia, znalazłem przyczynę tutajimport sys
):getpass.getpass(
<ciąg>,sys.stderr)
W tym celu użyj getpass .
źródło
Ten kod wyświetli gwiazdkę zamiast każdej litery.
źródło
getpass
odpowiedzi. Dobrze15.7 getpass - Przenośne wprowadzanie hasła
Możesz przeczytać więcej tutaj
źródło
Aktualizacja na odpowiedź @Ahmed ALaa
msvcrt nas tylko dla Windows, ale getch z PyPI powinien działać dla obu (testowałem tylko z Linuksem). Możesz również skomentować / odkomentować dwie linie, aby działało w systemie Windows.
źródło