Я пытаюсь ввести хэш sha512 в качестве аргумента, но argparse просто обрезает половину его без причины. Когда я вхожу в хэш Unix (MiqkFWCm1fNJI), он работает как положено. Я пытался найти что-то подобное, но ничего не нашел.
Мой код для аргументов командной строки выглядит так:
def check_args():
parse = argparse.ArgumentParser()
parse.add_argument('-p', '--password', type=str, action='store', help='enter your hashed password: -p your_hash')
parse.add_argument('-w', '--wordlist', help='add your wordlist: -w wordlist')
parse.add_argument('-f', '--file', help='file with hashes: -f your_hashes')
args_list = parse.parse_args()
return args_list
Часть кода, где он используется:
c_arg = check_args()
psw = c_arg.password
wordlist = c_arg.wordlist
file = c_arg.file
print(psw)
поэтому, когда я запускаю скрипт
python crack.py -p $6$krVh8s..$ttQmt30au3s9wHywp/KGdFKGe1WoEK4xpFJupMA.I06/tdv1//4x7e1gSU2e2Qu/1kQ0rfqXRxghfBX0Io1BJ.
Я получаю этот вывод:
../KGdFKGe1WoEK4xpFJupMA.I06/tdv1//4x7e1gSU2e2Qu/1kQ0rfqXRxghfBX0Io1BJ.
, который должен быть:
$6$krVh8s..$ttQmt30au3s9wHywp/KGdFKGe1WoEK4xpFJupMA.I06/tdv1//4x7e1gSU2e2Qu/1kQ0rfqXRxghfBX0Io1BJ.
если я запускаю тот же сценарий с таким аргументом, он работает так, как предполагалось:
python crack.py -p MiqkFWCm1fNJI
Выход:
MiqkFWCm1fNJI
Что может быть не так в этом, и как я могу заставить argparse читать этот тип строк?