前两天写了个python脚本,用于自测玩玩

因为我看市面上还是挺多那种”私钥碰撞器“的,大多数都是骗人的,而且还收费。

但是我感觉这玩意挺好玩,于是自己写了一个

核心的逻辑就是

# 生成随机助记词 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 生成种子

image.png

在这里也和某乎的开发讨论过,给我提供了一些建议和补充

3e2a85c13f93d8ae969203f00fc2390.png

也希望大家给出一些优化策略和建议