通用密码字典(第三版)
一个更高级的密码字典。这个密码字典的不同之处在于通过收集实际使用的密码、过滤并使用密码强度评分排序,提高使用字典的效率。(前两版就内部消化掉了)
zxcvbn 库通过识别常见密码、代换、序列等组合,计算出密码强度,具有相当大的量化参考价值。使用 zxcvbn 密码强度来排序密码字典可以使实际应用更高效,由易到难,节约大量时间。
特点
- 大部分来源于实际使用的密码
- 常用高质量密码字典
- 密码泄漏及社工库等
- 没有包括用户名、邮箱等信息
- 没有进行任何变换
- 过滤无意义密码
- 密码仅包含 ASCII 可打印字符及空格
- 密码长度不超过 64 个字符
- 密码强度 (zxcvbn(pwd).guesses_log10) 不超过 50(不同版本 zxcvbn 得出的强度可能不同)
- 除去常见 hash、过长的网址等
- 使用 zxcvbn 评分排序
- 通过简单截断就可以得到更小的字典
- 3.6G,348277374 行,ASCII 编码,LF 行尾
部分源码
var zxcvbn = require('./zxcvbn.js'); var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: new require('stream').Writable() }); rl.on('line', function(line){ pwd = line; strength = zxcvbn(pwd).guesses_log10; process.stdout.write(strength + '\t' + pwd + '\n'); });
pv newallfiltered.txt | parallel --pipe -j -2 nodejs pwdsort.js | env LC_ALL=C sort -S 5G --parallel=2 -u -k 1n,1n -k 2 -t $'\t' | pigz > filtered-zxcvbn-s.txt.gz pv filtered-zxcvbn-s.txt.gz | pigz -dc | cut -d $'\t' -f 2- > newdictv3.txt
注意:密码字典没有版权。作者不承担因使用造成的任何后果。