用于安全密码输入的python包装器

pynentr的Python项目详细描述


品性

Pinnentry的Python包装

主要是为了练习元编程

归功于mijikai作为一个工作示例

需要安装pinentry

便利方法:

  • 要快速、简单地从用户处获取密码/pin:

get_pin(description=None, prompt=None, timeout=0, display=None, global_grab=True)

  • 要显示并获得用户的确认:

get_confirm(description=None, timeout=0, display=None, global_grab=True)

  • 向用户显示消息:

show_message(description=None, timeout=0, display=None, global_grab=True)

p输入类

上面的方法实例和配置一个可以手动调用和配置的PyEntry实例 via属性

PynEntry类支持以下属性:

  • description:设置要显示的描述性文本
  • prompt:设置密码短语项之前的文本(例如:“PASS:”)
  • title:设置窗口标题
  • ok_text:设置“确定”按钮中显示的文本
  • cancel_text:设置“取消”按钮中显示的文本
  • error_text:设置在重新编译之前发生错误时的文本(每次get_pin()调用后清除)
  • tty_name:选择要使用的tty(自动设置)
  • tty_type:更改要使用的tty类型。在
  • locale:设置要使用的区域设置(自动设置为当前操作系统区域设置)

注意:pyentry类使用$PATH变量来查找pinentry可执行文件,可以指定 初始化时手动执行:PynEntry(executable='/path/to/pinentry')

PynEntry最好用作上下文管理器,以便在完成后自动终止pinentry进程。在

示例:

importpynentrypynentry.show_message('Hello there!')withpynentry.PynEntry()asp:p.description='Enter a password.\n Choose Wisely!'p.prompt='PASS>'try:passwd=p.get_pin()exceptpynentry.PinEntryCancelled:print('Cancelled?! Goodbye.')exit()p.ok_text='yep!'p.cancel_text='nope!'p.description=f'CAN YOU CONFIRM YOUR SUPER SECRET PASSWORD IS {passwd}?'ifp.get_confirm():print(f'password {passwd} saved!')else:print(f'Too bad, so sad')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX SwingWorker等价物?   java如何检查一个字符串只包含数字和一个小数点?   java遇到了异常组织。阿帕奇。卡塔琳娜。LifecycleException:无法启动组件   java如何从日期格式获取最低计时单位?   java应用服务器与开发过程的集成   java我无法运行Junit测试   无法在java多线程处理中维护生产者任务的顺序   java如何在CLI应用程序中“拦截”Ctrl+C?   java如何使用JSch进行原子SFTP文件传输,以便在写入过程完成之前无法访问该文件?   java当用户摆弄html范围滑块时,如何更改内容(文本)?   如何在Java中向现有文件追加文本?   JUnit测试中的java模拟Apache驼峰位置   java Maven更新项目和依赖项