以太坊 根据keystore文件与密码解出私钥
Posted 看见月亮的人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太坊 根据keystore文件与密码解出私钥相关的知识,希望对你有一定的参考价值。
使用golang根据keystore文件与密码解出私钥
package main
import (
"encoding/hex"
"fmt"
"github.com/ethereum/go-ethereum/accounts/keystore"
"github.com/ethereum/go-ethereum/crypto"
"io/ioutil"
"log"
)
func main() {
privKey, address, err := KeystoreToPrivateKey("UTC--2017-11-21T05-46-23.555205600Z--6e60f5243e1a3f0be3f407b5afe9e5395ee82aa2", "123456789")
if err != nil {
log.Fatal(err)
}
fmt.Printf("privKey:%s\\naddress:%s\\n", privKey, address)
}
func KeystoreToPrivateKey(privateKeyFile, password string) (string, string, error) {
keyjson, err := ioutil.ReadFile(privateKeyFile)
if err != nil {
fmt.Println("read keyjson file failed:", err)
}
unlockedKey, err := keystore.DecryptKey(keyjson, password)
if err != nil {
return "", "", err
}
privKey := hex.EncodeToString(unlockedKey.PrivateKey.D.Bytes())
addr := crypto.PubkeyToAddress(unlockedKey.PrivateKey.PublicKey)
return privKey, addr.String(), nil
}
以上是关于以太坊 根据keystore文件与密码解出私钥的主要内容,如果未能解决你的问题,请参考以下文章