[Python] Konversi Frasa Mnemonik BIP39 Menjadi Seed Hex Murni

Script python untuk mengkonversi frasa mnemonic bip39 (atau frasa lain) menjadi Seed Hex Murni sesuai standar spesifikasi industri kriptografi global. Tools ini memerlukan module external "hashlib".

import hashlib #python.exe -m pip install hashlib

def bip39_mnemonic_to_seed_hex(mnemonic: str, passphrase: str = "") -> str:
    # 1. Normalisasi teks frasa menjadi byte UTF-8 (password)
    password = mnemonic.encode('utf-8')
    # 2. Membuat salt sesuai aturan standar BIP39 ("mnemonic" + kata sandi opsional)
    salt = ("mnemonic" + passphrase).encode('utf-8')
    # 3. Proses hashing menggunakan PBKDF2 C-Level bawaan Python (Sangat Cepat)
    # Parameter wajib: 'sha512', password, salt, 2048 iterasi, output 64 byte
    seed_bytes = hashlib.pbkdf2_hmac('sha512', password, salt, 2048, 64)
    # 4. Mengubah susunan byte menjadi string Hexadecimal biasa
    return seed_bytes.hex()

# === CONTOH EKSEKUSI / UJI VALIDASI ===
if __name__ == "__main__":
    # Menggunakan frasa tes 12 kata standar BIP39 yang diakui secara global
    frasa_tes = "abandon flag axis cream harbor fix resource offer genre tongue price barely"
    # Menjalankan fungsi konversi tanpa passphrase tambahan
    seed_hex_result = bip39_mnemonic_to_seed_hex(frasa_tes)
    
    print("=== KONVERSI FRASA BIP39 ===")
    print(f"Mnemonic : {frasa_tes}")
    print(f"Seed Hex : {seed_hex_result}")