Как мне перебрать ша256 га sh в указанном блоке - PullRequest
0 голосов
/ 14 марта 2020

В настоящее время я пишу функцию, которая пытается грубо форсировать sha256 га sh, печатает номер и выходит из l oop, когда находит совпадение. Код, над которым я работал, печатает ха sh и кодирует его в utf-8:

#!/bin/python3
import hashlib
import sys
                 # First argument passed to the script 
inputhash=sys.argv[1]
def passthehash(hash):
        for pin in range(1000000):

                inputhash = hashlib.sha256(str(f'{pin:06}').encode('utf-8')).hexdigest()

passthehash(inputhash)

После небольшого просмотра я реализовал код и запустил программу, которая дала мне:

 Traceback (most recent call last):
  File "./testing3.py", line 5, in <module>
    inputhash=sys.argv[1]
IndexError: list index out of range

Я новичок в этом типе ошибки, поэтому я не понимаю, почему этот конкретный индекс списка находится вне диапазона.

Ответы [ 2 ]

1 голос
/ 14 марта 2020
inputhash=sys.argv[1]

ищет параметр командной строки для передачи в скрипт.

примерно так: $ python test.py arg1 arg2 arg3

, поскольку вы не передаете никаких аргументов, произойдет ошибка при попытке доступа к аргументу с помощью argv [1]

Пожалуйста, обратитесь к этому руководству: https://www.tutorialspoint.com/python/python_command_line_arguments.htm

0 голосов
/ 14 марта 2020

Это так. у вас есть список. a = [1, 2] И этот код:

for i in range(0, 3):
    print(a[i])

Было бы напечатано 1 и 2. Но нет [2]. Это IndexError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...