python生成密码表,并且输出到一个txt文件里面

问题大概是这样的,我有一个文件解开需要密码,但是我只记得那个密码是8位以内的,并且带hk这两个连续字母,hk的具体位置也不知道,然后我打算用python直接把所有的可能的密码都输出到一个txt文件里面,然后把这个txt文件当成密码表去强制破解密码,但是我不知道怎么写代码来输出密码表,orz


import string

import codecs

ws = []
wf = codecs.open('out.txt', 'w', 'utf-8')
ws += list(string.ascii_letters)
ws += list(string.digits)

def write_pwd(pwd):
    if len(pwd) < 8:
        for w in ws:
            wf.write(w + pwd + '\n')
            write_pwd(w + pwd)
            wf.write(pwd + w + '\n')
            write_pwd(pwd + w)


write_pwd('hk')
wf.close()

ws根据你的需要增加删除符号,现在是有大小写字母和数字

你的密码只包含字母吗?有没有大小写?就算只使用了小写字母,hk有7个可能的位置,那么,全部可能的密码有多少种呢?

>>> pow(26,6) * 7
2162410432

一个密码一行的话,这个文本文件有21.6亿行,估计约19.5G大小。这么大的文件,估计读写都会很困难。
基于以上分析,可以说题主的想法不是一个好主意。建议题主通过迭代器生成全部的密码(这个不难),然后注意验证,只要有足够的时间,不需要多大的内存,也一定能完成。假如每秒钟可以验证100个密码,最坏情况下,需要花费6000个小时。

能确定位数吗