我不知道为什么这不是我想要的工作方式。我有一个文本文件,其中包含一些常用密码(例如,password,00001111),我想使用salt对它们进行散列。然而使用
a = hashlib.sha3_256('AlwaysUseADifferentSalt00001111'.encode('utf-8')).hexdigest()
print(a)
>>>6008992e30a56dbab6825064078ca585ad1b981a4c461ffb46dbd088377ac3ae
salt = 'AlwaysUseADifferentSalt'
password = '00001111'
key = salt + password
a = hashlib.sha3_256(key.encode('utf-8')).hexdigest()
print(a)
>>>d6fdd92f39dd760bd372c035f76a7253b58d176b3f1e74d293218d2801d1b701
给我不同的结果,即使key = AlwaysUseADifferentSalt00001111
编辑: 为了澄清一些事情,我试图用salt和给定的密码重建一个散列
import hashlib
counter = 1
sha3_pass = 'b998c2aeb78ed8948976a7c8e3317b16ba8a7ad45764520a672c684929f51f90'
sha3_file = open("Top12Thousand.txt")
salt = 'AlwaysUseADifferentSalt'
for password in sha3_file:
key = salt + password
hash_obj = hashlib.sha3_256(key.encode('utf-8')).hexdigest()
#print("Trying Password %d : %s " % (counter,password.strip()))
counter += 1
if hash_obj == sha3_pass:
print("\nPassword Found!!! Password Is : %s " % password)
break
#else:
#print("\n password Not Found")
使用来自https://raw.githubusercontent.com/berzerk0/Probable-Wordlists/master/Real-Passwords/Top12Thousand-probable-v2.txt的列表 因为我不明白为什么脚本不起作用,所以我检查了salt值,如果我在看到一些差异的地方插入一个完整的字符串,我会得到这些值
这应该起作用:
如您所见,唯一的更改是在第9行删除密码(
key = salt + password.strip()
)相关问题 更多 >
编程相关推荐