Untitled
unknown
plain_text
10 months ago
1.9 kB
5
Indexable
import os
import hashlib
import base58
from ecdsa import SECP256k1, SigningKey
# Fonction pour générer une clé Litecoin privée et son adresse
def generate_litecoin_key():
# Générer une clé privée aléatoire (32 octets)
private_key = os.urandom(32)
# Créer une clé publique à partir de la clé privée
sk = SigningKey.from_string(private_key, curve=SECP256k1)
public_key = sk.get_verifying_key().to_string()
# Calculer l'adresse Litecoin (en utilisant le même processus que Bitcoin)
sha256_pubkey = hashlib.sha256(public_key).digest()
ripemd160_pubkey = hashlib.new('ripemd160', sha256_pubkey).digest()
# Ajouter le préfixe Litecoin (0x30 pour Litecoin mainnet)
versioned_payload = b'\x30' + ripemd160_pubkey
# Calculer le checksum (les 4 premiers octets de SHA256(SHA256(versioned_payload)))
checksum = hashlib.sha256(hashlib.sha256(versioned_payload).digest()).digest()[:4]
# Générer l'adresse finale Litecoin
address = base58.b58encode(versioned_payload + checksum).decode('utf-8')
# Retourner la clé privée et l'adresse dans le format requis
private_key_hex = private_key.hex()
return private_key_hex, address
# Fonction principale pour générer les clés
def main():
# Demander combien de clés privées générer
num_keys = int(input("Combien de clés privées voulez-vous générer ? "))
# Ouvrir le fichier pour y enregistrer les clés
with open("case.txt", "w") as file:
for _ in range(num_keys):
private_key, address = generate_litecoin_key()
# Écrire la clé privée et l'adresse dans le fichier
file.write(f"Clé : {private_key} | Adresse : {address}\n")
print(f"{num_keys} clés et adresses Litecoin ont été générées et enregistrées dans 'case.txt'.")
if __name__ == "__main__":
main()Editor is loading...
Leave a Comment