文章目录
一、生成以太坊地址私钥
1.1 生成以太坊地址私钥函数代码
- 创建常量
const (
BitcoinSeed = "Bitcoin seed"
Mnemonic = "search crime session tag file joke leaf express interest slender file hawk"
)
- 创建生成地址函数
func NewAccount(password string) string {
seed := pbkdf2.Key([]byte(Mnemonic), []byte("mnemonic"+password), 2048, 64, sha512.New)
hmac := hmac.New(sha512.New, []byte(BitcoinSeed))
_, err := hmac.Write([]byte(seed))
if err != nil {
return ""
}
intermediary := hmac.Sum(nil)
keyBytes := intermediary[:32] // 私钥
_, pub := ecdsa.PrivKeyFromBytes(ecdsa.S256(), keyBytes)
return pub.ToAddress().String()
}
1.2 pbkdf2.Key() 生成秘钥函数
PBKDF2(Password-Based Key Derivation Function)
是一个用来导出密钥的函数,常用于生成加密的密码。