您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Python控制台程序中读取带有回声“ *”的密码?

如何在Python控制台程序中读取带有回声“ *”的密码?

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方式更好;即使只是知道密码中的字符数,对于想要破解它的人来说也是一个重要的提示

python 2022/1/1 18:32:54 有212人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶