Конвертация sha256 слов в биткоин адреса сжатые и несжатые
Есть список слов Sha256 построчно по сути ключи биткоина. Нужно конвертировать этот список в сжатые и не сжатые публичные ключи биткоина. Написал код на python с помощью чата ГПТ, но он выдает не те ключи. Проверяю на сайте - https://secretscan.org/PrivateKeyHex
как получить правильные ключи, номера кошельков?
import hashlib
import base58
from ecdsa import SigningKey, SECP256k1
def sha256_to_wif(sha256_hash):
"""Преобразует хэш SHA256 в некомпрессированный приватный ключ WIF Bitcoin."""
# Преобразование хэша SHA256 в байтовый массив
hash_bytes = bytes.fromhex(sha256_hash)
# Создание приватного ключа ECDSA
private_key = SigningKey.from_string(hash_bytes, curve=SECP256k1)
# Формирование WIF-ключа
wif_key = base58.b58encode(b'\x80' + private_key.to_string() + b'\x01').decode()
return wif_key
# Открываем файл для чтения
with open("sha256_hashes.txt", "r") as file:
sha256_hashes = file.readlines()
# Преобразуем каждый sha256 хэш в некомпрессированный приватный ключ WIF Bitcoin и сохраняем в файл
with open("uncompressed_wif_keys.txt", "w") as output_file:
for sha256_hash in sha256_hashes:
sha256_hash = sha256_hash.strip()
wif_key = sha256_to_wif(sha256_hash)
output_file.write(f"{sha256_hash} {wif_key}\n")
print("Преобразование завершено. Список SHA256 и некомпрессированные приватные ключи WIF Bitcoin сохранены в файл 'uncompressed_wif_keys.txt'.")