Python md5 哈希不断生成错误的哈希
Python md5 hash keeps generating wrong hash
我正在使用在线 md5 生成器来获取 'football' 的哈希值。当 Python 在提示符下转换我的输入“football”时,它会生成一个不同的散列。然后它从我列表中的单词“football”生成另一个完全不同的散列。所以当它比较它们时没有匹配。我在不同的在线 md5 生成器中对“football”这个词进行了散列处理,得到了相同的结果。只有在 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'))
在dictionary_attack
到
temp_value = hashlib.md5(dictionary_value.encode('utf-8'))
同样,在main
中,更改
hashobj = hashlib.md5('objhash'.encode('utf-8'))
至
hashobj = hashlib.md5(objhash.encode('utf-8'))
我正在使用在线 md5 生成器来获取 'football' 的哈希值。当 Python 在提示符下转换我的输入“football”时,它会生成一个不同的散列。然后它从我列表中的单词“football”生成另一个完全不同的散列。所以当它比较它们时没有匹配。我在不同的在线 md5 生成器中对“football”这个词进行了散列处理,得到了相同的结果。只有在 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'))
在dictionary_attack
到
temp_value = hashlib.md5(dictionary_value.encode('utf-8'))
同样,在main
中,更改
hashobj = hashlib.md5('objhash'.encode('utf-8'))
至
hashobj = hashlib.md5(objhash.encode('utf-8'))