chenye1314 发表于 2020-9-29 01:55

【原创源码】密码生成

本帖最后由 chenye1314 于 2020-10-28 20:01 编辑

今天晚上我朋友有个表格忘了密码,根据她提供的信息密码在3位到5位以内的纯数字组合,还不需要哈希破解【说明;哈希破解密码速度可达到1秒1.4亿】,所以使用普通破解方式即可,今天有点晚了,先写个密码生成;
源码注释写的比较清晰,不过多阐述;
部分源码展示
经过各位朋友的建议,已对代码进行优化

def mi_ma(num):
      pass_word = its.product(combination, repeat=num)# 组合3位到5位纯数字组合,返回一个元组迭代器;
      for i in pass_word:                           # 遍历迭代器,提取值;
            i = list(i)                               # 将迭代器的元组数据转换为列表;
            temp = ""                                 # 定义一个临时的空字符串;
            for k in i:                               # 遍历i的值;
                temp += k                           # 把遍历的值放入临时的空的字符串中;
            f.write(temp + '\n')                      # 把临时字符串的内容加上换行符,追加写入到文件中;


if __name__ == '__main__':
    combination = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']# 密码组合的内容,如果有字母或符号组合可自行添加;
    time1 = time()
    with open(r"D:\python\Su_Cai\mima.txt", "a") as f:# 密码生成完成后存放的位置;
      for num in range(3,6):                        # 生成3到5位密码,将实参传递函数;
            mi_ma(num)

nightcat 发表于 2020-9-29 02:14

3位以上5位以内的纯数字组合, 一个for循环应该就Ok了吧??
for i=1000;i<1000000;i++:
    print(i)

c03xp 发表于 2020-9-29 08:41

这得写多少函数,一个不就完了?
def mi_ma_2( nbit ):
    pass_word = its.product(combination, repeat=nbit)
    for i in pass_word:
      i = list(i)
      temp = ""
      for k in i:
            temp += k
      f.write(temp + '\n')

wjp187 发表于 2020-9-29 02:47

意义在哪

weilongy 发表于 2020-9-29 04:10

真的是你要这么多密码干啥 一个一个试么

qq63 发表于 2020-9-29 06:31

本帖最后由 qq63 于 2020-9-29 06:34 编辑

多谢分享   ,之前见过一个网页可以根据不同需求生成密码的 好像叫猜密码不过链接失效打不开了。

北北1315 发表于 2020-9-29 07:37

weilongy 发表于 2020-9-29 04:10
真的是你要这么多密码干啥 一个一个试么

直接跑密码就行了不用试

zfzhhh 发表于 2020-9-29 07:40

这个用途不大,
楼主是想练习数组的知识点,那就做一个稍微有意义的.
比如取名器,   三个数组, 一个存放百家姓,一个存放男孩常用字一个存放女孩常用字
随机生成小孩名字.

ghy197674 发表于 2020-9-29 08:48

多谢分享

哈哈hyc 发表于 2020-9-29 09:30

多谢分享,作为学习资源还是可的
页: [1] 2
查看完整版本: 【原创源码】密码生成