最近想储存些多个类型虚拟货币(btc,ltc,eth,eos),但是私钥太多,怕忘搞丢所以想改改加密函数 自己输入字符串生成私钥(为了让多个加密货币的私钥加密随机串一致)
但是golang接触的不多 所以看不懂该怎么改 文中关键函数为` io.ReadFull(rand, b)` 我想让rand 随机字符串,改为自己定义字符串如"123456" 再加密为私钥 这样我就只需要记住字符串再保存这个golang文件就不怕丢失私钥了 ,也不怕被盗
但这里他是一个io类型所以不知道该怎么入手, 描述完毕谢谢
**项目文件地址 github.com/oldnicke/ltcaddressgenie**
```
var priv ltckey.PrivateKey
priv, err := ltckey.GenerateKey(rand.Reader)
func GenerateKey(rand io.Reader) (priv PrivateKey, err error) {
/* See Certicom's SEC1 3.2.1, pg.23 */
/* See NSA's Suite B Implementer’s Guide to FIPS 186-3 (ECDSA) A.1.1, pg.18 */
/* Select private key d randomly from [1, n) */
/* Read N bit length random bytes + 64 extra bits */
b := make([]byte, secp256k1.N.BitLen()/8+8)
_, err = io.ReadFull(rand, b)
if err != nil {
return priv, fmt.Errorf("Reading random reader: %v", err)
}
d := new(big.Int).SetBytes(b)
/* Mod n-1 to shift d into [0, n-1) range */
d.Mod(d, new(big.Int).Sub(secp256k1.N, big.NewInt(1)))
/* Add one to shift d to [1, n) range */
d.Add(d, big.NewInt(1))
priv.D = d
/* Derive public key from private key */
priv.derive()
return priv, nil
}
```
有疑问加站长微信联系(非本文作者)