首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用这种方式生成私钥有什么问题?

用这种方式生成私钥有什么问题?
EN

Ethereum用户
提问于 2018-01-04 00:15:57
回答 1查看 614关注 0票数 0

主要是出于好奇,但如果您想要生成自己的ethereum私钥/公钥对,并注意使用其他人的代码,那么这样做有什么不对吗?

代码语言:javascript
复制
const validChars = ["a", "b", "c", "d", "e", "f", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
let key = ""

for (var i = 0; i < 64; i++) {
    let rand = validChars[Math.floor(Math.random() * validChars.length)];
    key += rand
}

//key is now a random string of 64 valid ETH characters
console.log(key)
EN

回答 1

Ethereum用户

发布于 2018-01-04 08:13:13

本质上,是的,私钥只是一个随机数。尽管如此,我发现您的代码有两处问题:

  1. 小心使用用于密码安全的随机数生成器。在Node.js中,您可能希望使用crypto (例如,crypto.randomBytes(32))。
  2. 并不是所有256位随机数都是有效的私钥.私钥必须小于0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141,这是所使用的椭圆曲线(secp256k1)的n值。它也必须大于0。(谢谢@Ismael)
票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/35059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档