Модуль getpass
написан на Python. Вы можете легко изменить это, чтобы сделать это. Фактически, вот модифицированная версия getpass.win_getpass()
, которую вы можете просто вставить в свой код:
import sys
def win_getpass(prompt='Password: ', stream=None):
"""Prompt for password with echo off, using Windows getch()."""
import msvcrt
for c in prompt:
msvcrt.putch(c)
pw = ""
while 1:
c = msvcrt.getch()
if c == '\r' or c == '\n':
break
if c == '\003':
raise KeyboardInterrupt
if c == '\b':
pw = pw[:-1]
msvcrt.putch('\b')
else:
pw = pw + c
msvcrt.putch("*")
msvcrt.putch('\r')
msvcrt.putch('\n')
return pw
Вы можете пересмотреть это, однако. Путь Linux лучше; даже просто зная количество символов в пароле, это важный совет для того, кто хочет его взломать.