如何利用python实现碰撞原理

先看图

跑了大概一天

这是结果

具体是通过BIP39规则生成的种子数据

生成完词组后,再根据词组生成姨太地址

# 生成随机助记词
def generate_mnemonic():
    entropy = os.urandom(16)  # 随机生成 16 字节熵
    mnemonic = []
    for i in range(12):  # 生成 12 个助记词
        word_index = int.from_bytes(entropy[i:i+1], 'big') % len(WORDLIST)
        mnemonic.append(WORDLIST[word_index])
    return ' '.join(mnemonic)

# 根据助记词生成以太坊地址
def generate_eth_address_from_mnemonic(mnemonic):
    seed = mnemonic_to_seed(mnemonic)  # 将助记词转换为种子
    private_key = keys.PrivateKey(keccak(seed))  # 生成私钥
    public_key = private_key.public_key  # 生成公钥
    address = public_key.to_checksum_address()  # 生成以太坊地址
    return address, private_key.to_hex()

# 将助记词转换为种子
def mnemonic_to_seed(mnemonic, passphrase=''):
    mnemonic_bytes = mnemonic.encode('utf-8')  # 助记词转字节
    salt = ('mnemonic' + passphrase).encode('utf-8')  # 加盐
    return hashlib.pbkdf2_hmac('sha512', mnemonic_bytes, salt, 2048)  # 使用 PBKDF2 生成种子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加密社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值