Я пишу программу для проверки массива строк на предмет наличия одного из следующих элементов;
1. Частные ключи
2. BIP 39 семян (12, 18 и 24 слова)
Я уже могу проверить закрытый ключ WIF, но не представляю, как представить что-либо, что удаленно выглядит как закрытый ключ (WIF, Extended Format / ECDSA, Mini, Parent Private Key) с помощью Regex.
Если вы не думаете, что Regex - это путь, вы можете предложить мне что-то еще, помните, что мне не нужно проверять, действительно ли оно существует, и мне не нужно что-то слишком сложное.
Для проверки семян BIP 39 у меня есть функция, которая разбивает список строк по очереди на 12, 18 и 24 и сравнивает каждый фрагмент со списком строк из всех 2048 слов в BIP39, но, похоже, не работает .
Код для проверки WIF выглядит следующим образом и работает, код имеет большую часть, но я не хочу усложнять ситуацию, просто выявляя то, что нужно.
z = "5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAbuatmU"
exp = bool(re.match(r"^[5KL][1-9A-HJ-NP-Za-km-z]{48,51}$", z))
if exp == True:
print ("Found Private Key with regex")
else
print ("Didnt find a WIF but other keys might still be in it")
Вот код для проверки того, что он содержит семя bip39
for m in (global_array):
try:
new_array = global_array[m:12]
if set(new_array).issubset(set(bip39_list)) == True:
print("Possible 12 - Word BIP 39 seed found!")
print(new_array)
except:
continue
continue
try:
new_array = global_array[m:18]
if set(new_array).issubset(set(bip39_list)) == True:
print("Possible 18 - Word BIP 39 seed found!")
print(new_array)
except:
continue
continue
try:
new_array = global_array[m:24]
if set(new_array).issubset(set(bip39_list)) == True:
print("Possible 24 - Word BIP 39 seed found!")
print(new_array)
except:
continue
continue
Пример данных, который содержит все, что я искал, будет;
global_array = ["5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAbuatmU", "KziXBfNy2eZEKHdZeBZQ3ZyW3joXcv2k66yHuKPaDgNwEX76wMPU", "await", "abandon", "actress", "actual", "adapt", "satoshi", "advance", "advice", "aerobic", "admit","afraid","again","age","zola", "zolof", "yada", "yada"]
Я бы хотел, чтобы можно было правильно проверить bip39
, так как тот, который я сделал выше, не работает.
Я хотел бы проверить все типы закрытых ключей, а не только wif.
Мне также хотелось бы, чтобы кто-нибудь мог добавить способ переписать его как многопоточный с длинным списком из примерно 10 000 файлов.