【问题标题】:Print all possible combinations, given a specific number format [closed]打印所有可能的组合,给定特定的数字格式[关闭]
【发布时间】:2014-10-07 12:45:27
【问题描述】:

我有兴趣尝试“暴力破解”采用“##-######”格式的字符串的所有可能组合,其中前两个字符是数字 0-9,后跟一个连字符和多于六个数字 0-9。

我要做的就是将这些打印到文本文件或控制台。 这对我来说是一个学习练习,而不是为了学校或工作。

我不是在寻找代码示例,而是在寻找有关猜测模式的参考资料。

我更喜欢 python,但可以使用大多数语言。

谢谢!

【问题讨论】:

  • 这个问题似乎离题了,因为它是一个没有完成工作的代码请求。

标签: python algorithm security cryptography brute-force


【解决方案1】:

试试这个:

with open('file.out', 'w') as output:
    for n in xrange(100000000):
        s = "{0:08d}".format(n)
        output.write(s[:2] + '-' + s[2:] + '\n')

…但请注意,这是 很多 的组合,您可能会耗尽内存,如果不是这样,生成的文件将是 huge 并且该程序将需要很长时间才能完成。蛮力在这里不是一个好主意。

【讨论】:

    【解决方案2】:

    仅供参考,这将是 10^8 (100,000,000) 个组合。你很快就会耗尽内存。

    不管怎样,除了记忆的东西……

    from itertools import product
    
    ["%02d-%06d" % (i[0], i[1]) for i in product(range(100), range(1000000)]
    

    【讨论】:

      猜你喜欢
      • 2013-08-02
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多