我正在学习道德黑客攻击.我有密码的哈希密钥和密码算法(sha256/sha512).我想解析文件中的所有字符串,并检查密码的哈希值是否与文件中每个字符串的哈希值相匹配.
生成的String可能包含小写字母,大字母和数字.
任何想法如何生成所有可能包含字母和数字的长度为n的字符串?
这是一段使用[Python 3]的代码:itertools.产品(*iterables,repeat = 1).
请注意,生成的字符串数量是62 ** length,因此出于测试目的,使用较小的长度值:
import string
import itertools
def generate_strings(length=3):
chars = string.ascii_letters + string.digits # "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
for item in itertools.product(chars, repeat=length):
yield "".join(item)
Run Code Online (Sandbox Code Playgroud)
你可以使用itertools.product:
print([''.join(x) for x in itertools.product('abcABC123', repeat=3)])
['aaa',
'aab',
'aac',
'aaA',
'aaB',
'aaC',
'aa1',
'aa2',
'aa3',
'aba',
...
Run Code Online (Sandbox Code Playgroud)
只需将您需要的剩余字符添加到输入字符串中。您可以strings为此使用模块中的常量。
请注意,这会迅速增长。;)
| 归档时间: |
|
| 查看次数: |
8987 次 |
| 最近记录: |