跳转到主要内容

带荷兰语支持的密码强度估算器

项目描述

这是一个zxcvbn的Python端口,zxcvbn是一个JavaScript密码强度生成器。zxcvbn通过模式匹配和保守的熵计算尝试给出合理的密码建议。它可以找到10k个常用密码、常见的美国家庭和姓氏、常见英语单词以及常见的模式,如日期、重复(aaa)、序列(abcd)和QWERTY模式。

所有Python端口的辛勤工作都由Ryan Pearl完成,在他的原始python-zxcvbn包中。这个版本增加了一个荷兰语单词列表。

有关zxcbvn的完整详情和动机,请参阅http://tech.dropbox.com/?p=165。原始JavaScript(实际上是CoffeeScript)实现的源代码可以在以下位置找到

https://github.com/lowe/zxcvbn

有关完整动机,请参阅

http://tech.dropbox.com/?p=165

安装

该项目可以从PyPI作为zxcvbn-dutch获取: https://pypi.python.org/pypi/zxcvbn-dutch

您可以使用以下命令安装它: pip install zxcvbn-dutch 如果您已经安装了现有的zxcvbn Python版本,建议在安装zxcvbn-dutch之前卸载它。

使用

zxcvbn模块导出password_strength()函数。导入zxcvbn,并调用password_strength(password, user_inputs=[])。该函数将返回一个包含以下键的结果字典

熵 # 比特

crack_time # 实际破解时间的估计,以秒为单位。

crack_time_display # 相同的破解时间,作为一个更友好的字符串

(例如“立即”,“6分钟”,“几个世纪”等)

score # [0,1,2,3,4],如果破解时间小于

([10**2, 10**4, 10**6, 10**8, Infinity])。#(用于实现强度条。)

match_sequence # zxcvbn基于此进行熵计算的图案列表

#。

calculation_time # 计算答案所需的时间,

# 以毫秒为单位。通常只有几毫秒。

可选的user_inputs参数是一个字符串数组,zxcvbn会将其添加到其内部字典中。这可以是您喜欢的任何字符串列表,但主要用于表单的其他字段的用户输入,如姓名和电子邮件。这样,包含用户个人信息的密码会受到严重惩罚。此列表也适用于特定于站点的词汇。

欢迎提交错误报告和拉取请求!

致谢

感谢Dropbox再次支持hackweek内外独立项目。

感谢Dan Wheeler(https://github.com/lowe)提供的CoffeeScript实现(见上文)。重复他的外部致谢(这些致谢始终有用)

非常感谢Mark Burnett发布他的10k顶级密码列表:http://xato.net/passwords/more-top-worst-passwords 以及他的2006年书籍,《完美的密码:选择、保护、认证》

非常感谢维基词典的贡献者构建了用于电视和电影的英语频率列表:http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists

非常感谢莱比锡大学发布他们的荷兰单词列表:http://wortschatz.uni-leipzig.de/html/sitemap.html

最后但同样重要的是,对xkcd表示衷心的感谢 :) https://xkcd.com/936/

项目详情


下载文件

下载适用于您平台的项目文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

zxcvbn-dutch-1.1.tar.gz (395.8 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面