字典生成_用python生成密码字典的2种方法

本文介绍了如何使用Python的itertools库和自定义函数生成密码字典。通过分析生成字典的规律,实现了一个任意进制加一的函数,从而能够根据指定字符和长度生成密码字典。详细讲解了函数的实现过程,并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

本文介绍如何用python生成字典输入指定字符和位数,生成一个密码字典

首先说简单的,一句话生成

for x in itertools.product('0123',repeat=4):print "".join(x)

是的就是这么简单

python的itertools库是一个 创建迭代器以实现高效循环的函数库(google翻译)

库中的product函数就实现了一个类似字典生成的方法,第一个参数是用作生成的字符,第二个参数是字符重复次数,也就是密码长度

需要详细了解这个库和这个函数的话是这里:

https://docs.python.org/2/library/itertools.html

下面说如何自己动手生成

首先分析下生成字典的规律

输入字符0123456789长度为四位,应该生成类似如下结果:

chars = '0123456789'

length = 4

result:

0000 0

0001 1

0002 2

....

1000

1001

1002

....

2121

....

3333

....

9999

可以看出生成一个数字0-9的字典类似数数,那么应该可以生成字典想象成一个十进制数加一然后补齐左边的0转换成字符串的过程

如果是字母和符号组成的去生成字典呢?可能如下

chars = 'abcd'

length = 4

result:

aaa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值