强制功能SHA256哈希

问题描述 投票:0回答:1

我已经制作了一个Python程序,可以将您的密码加密为sha256。

import hashlib


u = input("Write 3 upper-case letters: ").upper()
d = int(input("Write 4 digits from 0-9 "))

testhashed = u+str(d)


key = hashlib.sha256(testhashed.encode())

print("function 1" +key.hexdigest())

但是我完全不知道如何制作暴力功能。如果有人可以指导我,将不胜感激。

python python-3.x encryption hash
1个回答
0
投票
您的代码确实有一些问题。例如,什么都不会迫使您仅输入3个字母,甚至不会迫使它们成为字母。另外,您也可以输入多于或少于4位的数字。无论如何,这是蛮力的简单例子。它只是遍历您拥有的所有选项,尝试匹配哈希值。请注意,这至少可以说是次优的,但是,嘿,从Python开始运行蛮力并不是一个聪明的主意,因此这已经足够了。请注意,我已选择接近蛮力范围开始的测试密码,否则,您将永远等待它成功。

import hashlib, itertools def brute_force(hash): letters = [chr(n) for n in range(ord('A'), ord('Z'))] digits = [chr(n) for n in range(ord('0'), ord('9'))] for part1 in itertools.product(letters, repeat=3): for part2 in itertools.product(digits, repeat=4): password_try = ''.join(part1 + part2) if hashlib.sha256(password_try.encode()).hexdigest() == hash: return password_try test_password = "BOO8000" key = hashlib.sha256(test_password.encode()).hexdigest() print("Hash: %s" % key) print("Brute-forcing...") recovered_key = brute_force(key) print("Brute-force result: %s" % recovered_key)

© www.soinside.com 2019 - 2024. All rights reserved.