kali自带的crunch是一个根据用户定义的格式来创建密码字典的工具。
格式:crunch <min-len> <max-len> [<charset string>] [options]<min-len>:生成密码的最小长度
<max-len>:生成密码的最大长度(注意:指定的长度越长生成的字典大小会指数级增加)
[<charset string>]:用户定义的字符串样式
[options]:指令选项
常用的指令选项:

-t @         			生成密码时@会被替换为小写字母
-t ,					生成密码时,会被替换为大写字母
-t %					生成密码时%会被替换为数字
-t ^					生成密码时^会被替换为符号
-o a.txt				将生成的字典内容保存在一个名为a.txt的文件中
-p username 2005 0101	可以生成由输入的字符集之间任意组合的密码,如2005username0101、01012005username等(必须给出长度限制,必须写在最后面,)

生成一个由6位小写字母组成的字典,并存放在a.txt文件中

crunch 6 6 -o a.txt

生成一个以abc开头,两位任意数字结尾的字典

crunch 5 5 -t abc%% -o a.txt

生成由若干个字符集任意组合的字典

crunch 5 5 -p username 2005 0101