Python md5哈希生成错误哈希



我使用在线md5生成器来获取'football'的哈希值。当Python转换我的输入"football"在提示符处,它生成一个不同的散列。然后,它会生成另一个与单词"足球"完全不同的散列。这在我的清单上。所以当它比较它们时没有匹配。我把"足球"这个词弄混了。在不同的在线md5生成器,并得到相同的结果。只有在Python中,我才会得到不同的结果。谢谢你的帮助。

import hashlib

def dictionary_attack(password_hash):
dictionary = ['letmein', 'password', '12345', 'football']
password_found = None
for dictionary_value in dictionary:
temp_value = hashlib.md5('dictionary_value'.encode('utf-8'))
hashed_value = temp_value.hexdigest()
if hashed_value == password_hash:
password_found = True
recovered_password = dictionary_value
if password_found == True:
print(f'Found match for hashed value: {password_hash}')
print(f'Password recovered: {recovered_password}')
else:
print(f'password not found')

def main():
objhash = input('Enter value: ')
hashobj = hashlib.md5('objhash'.encode('utf-8'))
password_hash = hashobj.hexdigest()
dictionary_attack(password_hash)
if __name__ == '__main__':
main()

您不是在计算"football"的哈希值。您正在计算字符串"dictionary_value"的哈希值。

更改行

temp_value = hashlib.md5('dictionary_value'.encode('utf-8'))

indictionary_attackto

temp_value = hashlib.md5(dictionary_value.encode('utf-8'))
同样地,在main中,改变
hashobj = hashlib.md5('objhash'.encode('utf-8'))

hashobj = hashlib.md5(objhash.encode('utf-8'))

最新更新