getpass无法正常工作

时间:2013-11-16 02:57:46

标签: python security python-2.7 passwords

所以我不知道我是否遗漏了一些文档,但我对getpass有两个问题。

  1. 我似乎无法保存密码

  2. 之后回显密码
    >>> pass = getpass.getpass()
      File "<stdin>", line 1
    pass = getpass.getpass()
         ^
    SyntaxError: invalid syntax
    >>> getpass.getpass()
    Password: 
    'ryan'
    
  3. 我做错了吗?

2 个答案:

答案 0 :(得分:5)

Pass是关键词try psswd而不是

答案 1 :(得分:1)

  

1)我似乎无法保存密码。

>>> pass = getpass.getpass()
...
SyntaxError: invalid syntax

预计会出现语法错误:

>>> import keyword
>>> keyword.kwlist
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> 'pass' in keyword.kwlist
True

除了仅在相应的__future__导入后才有效的关键字,您无法分配关键字。


  

2)在以下情况后回复密码:

>>> getpass.getpass()
Password: 
'most bear metal bright'

您会看到repr()函数返回值的getpass()。将其分配给变量:

>>> cleartext = getpass.getpass()
Password: 
>>> compare_hash(crypt.crypt(cleartext, hashed), hashed)
False