生成一次性密码的工具

ppotp的Python项目详细描述


生成一次性密码并将其复制到剪贴板的工具

pypi包:ppotp

如果您发现任何问题或有任何改进的想法,请随时 打开一个问题,我很乐意为你调查。

安装

建议使用pip install安装工具。

一旦安装,命令行工具otp应该可以在 系统路径。

pip安装

该工具在pypi中提供,可以使用pip安装:

$ pip install --user ppotp
$ otp --help

用法

$ otp --help
usage: otp [--version] [--help] [--debug] key

Tool to generate One-Time Passwords and copy them to clipboard

positional arguments:
  key        key or service name from ~/.otpkeys

optional arguments:
  --version  show program's version number and exit
  --help     show this help message and exit
  --debug    debugging mode

示例

$ otp BEXUS3AVCUU7HYU4OZQ44WFXMULPNQB2TKQ4YCNUASPXMPEH6YAZ3IACFM5VEGUQ
770400

密钥文件~/.otpkeys

您可以使用service=key格式将密钥保存到~/.otpkeys文件中, 例如:

$ cat ~/.otpkeys
aws=N5VEJBTUA553BYJTTTUGS3GANKVDECG62RHVIOV2FLYR5THC726ZOIOF4SQZZ5NV
google=QYDL7HS7LHPVKX7GGYKYIP3UEYOML2IENWYQD5NHYGETBZIRWWODKQWC3PRNQ3FO
facebook=ZBSLA3KGE4PEXCEGIJ57AKJLOHW2S3ABQNOOWZVV3HOO4Q3455BOG6BRNU5M2QK4

然后您可以通过运行:

$ otp {service}

示例:

$ otp aws
443782

$ otp google
760698

$ otp facebook
009176

自动将OTP复制到剪贴板

该工具尝试自动将成功生成的代码复制到 剪贴板。它使用 pyperclip模块 跨平台将文本复制到剪贴板。

示例:

$ otp cloud
324982

在这一点上,如果您的系统支持它,上面的otp应该是 在剪贴板上。

复制到剪贴板问题

Pyperclip使用各种机制将文本复制到剪贴板。如果你的 系统缺少它们,您可能会看到一条调试消息,上面写着:

Pyperclip could not find a copy/paste mechanism for your system.
For more information, please visit https://pyperclip.readthedocs.io/en/latest/introduction.html#not-implemented-error

目前,这个错误应该只出现在Linux上(不是Windows或Mac)。

请检查the above guide 有关如何解决此问题的详细信息。

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

推荐PyPI第三方库


热门话题
构造函数的java条件调用   类Dog中的java构造函数Dog不能应用于给定类型   java jsch和运行“sudo su”   java将队列和堆栈相互复制   java如何在netbeans项目的文件夹中添加库   java While循环在我的代码中不存在   如何在XML中使用java方法的返回值   java是否可以在不写入文件的情况下将字符串/字节数组作为文件发布?   java为什么这些字符串不相等?   sockets客户机-服务器java编程,用户可选择   java如何在SpringMVC和hibernate中保存模型返回视图的列表   java如何修复组织。openqa。硒。WebDriverException:未知错误   Java,Ant错误:编码Cp1252的不可映射字符   JAVAlang.ClassCastException:[Ljava.lang.String;与java.lang.String不兼容   java如何使用JDK8(可选)为空字段创建自定义IntelliJ getter模板   java Tomcat6响应。sendRedirect()404错误