В настоящее время моя проблема заключается в том, что я создал функцию, которая принимает один хэш-ввод, представляющий собой хеш-код числа от 1 до 500000. Однако я не могу понять, как ввести список в эту функцию, который дляцикл выведет список «нехэшированных» значений для меня, которые в этом случае будут числами.
Так, например:
Я положил в хеш для
"2" = "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35"
и затем я запускаю свой код, который сравнивает его с моей библиотекой, и он проверяет, совпадает ли он с хешированным значением в моей библиотеке, и если да, то в этом случае выдает 2.
Я не уверен, с чего начать. Я попытался изменить пароль в пустую матрицу для хранения значений, но это не сработало.
import hashlib
counter = 1
#C:\Users\valov\Desktop #location of wordlist file
try:
sha256_file = open("C:/Users/valov/Desktop/lab3.txt",'r')
except:
print("\nFile Not Found")
quit()
#sha256_file = open(r"C:/Users/valov/Desktop/lab3.txt", 'r') #read file
def hash_to_int(hash_list):
global counter
#for loop to go through given file and then encode hash
for password in sha256_file:
hash_obj = hashlib.sha256(password.strip().encode('utf-8')).hexdigest()
(counter,password.strip())
counter += 1
#check inserted hash against hash from our file, if true, print out value
if hash_obj == hash_list:
print(password)
Тем не менее, я не могу сделать его в списке. Поэтому, если я введу хэш 1 и 2 вместе, как это:
hash_to_int(["6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"
"d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35"])
, то получится [1 2]