Python参考手册
Unix
crypt
该模块实现crypt(3)例程的接口,该例程是基于修改的DES算法的单向散列函数; 有关更多详细信息,请参阅Unix手册页。可能的用途包括允许Python脚本接受用户输入的密码,或试图用字典破解Unix密码。
请注意,此模块的行为取决于正在运行的系统中crypt(3)例程的实际实现。因此,当前实现的任何可用扩展也将在此模块上提供。
crypt.crypt(word, salt)
word 通常是在提示或图形界面中键入的用户密码。salt通常是一个随机的两个字符的字符串,将用于以4096种方式扰乱DES算法。盐中的字符必须在集合中[./a-zA-Z0-9]
。将散列密码作为字符串返回,该字符串将由与盐相同的字母组成的字符组成(前两个字符代表盐本身)。
由于一些crypt(3)扩展允许不同的值,salt的大小不同,建议在检查密码时使用完整的加密密码作为salt。
一个说明典型用途的简单例子:
import crypt, getpass, pwd
def login():
username = raw_input('Python login:')
cryptedpasswd = pwd.getpwnam(username)[1]
if cryptedpasswd:
if cryptedpasswd == 'x' or cryptedpasswd == '*':
raise NotImplementedError(
"Sorry, currently no support for shadow passwords")
cleartext = getpass.getpass()
return crypt.crypt(cleartext, cryptedpasswd) == cryptedpasswd
else:
return 1
Unix相关
Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。
主页 | https://www.python.org/ |
源码 | https://github.com/python/cpython |
版本 | 2.7 |
发布版本 | 2.7.13 |