Как мне преобразовать цикл for в функцию, которая получает входные данные списка для размещения этих входных данных и возвращает выходные данные? - PullRequest
0 голосов
/ 21 октября 2019

В настоящее время моя проблема заключается в том, что я создал функцию, которая принимает один хэш-ввод, представляющий собой хеш-код числа от 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]

...