【问题标题】:Generate Mnemonic Phrase from window.crpyto.subtle.generateKey从 window.crpyto.subtle.generateKey 生成助记词
【发布时间】:2021-07-12 06:51:00
【问题描述】:

我正在开发基于网络的端到端加密聊天网站。为此,我使用 web crypto api 中提供的 window.crypto.subtle.generateKey 函数生成私钥。

我希望用户记住或存储我们在以太坊钱包中使用的助记词,而不是加密密钥。

有没有办法从由 window.crypto.subtle.generateKey 函数生成的私钥生成助记词,或者我还有其他方法可以实现吗?

提前致谢

【问题讨论】:

    标签: javascript cryptography ethereum webcrypto-api end-to-end-encryption


    【解决方案1】:

    有没有办法从私钥生成助记词

    情况正好相反。可以从每个助记词中确定一组私钥 - 但您不能从私钥中确定助记词。


    一个广泛使用的标准是BIP-39。尽管它最初是作为比特币改进协议引入的,但许多以太坊钱包也使用它。例如,您可以在this package 中找到它的 JS 实现。

    注意:您正在寻找函数 mnemonicToSeed()mnemonicToSeedSync()。尽管乍一看似乎entropyToMnemonic() 将私钥转换为短语,但事实并非如此 - 熵数只是单词在单词列表中的位置,而不是私钥字节。

    【讨论】:

    • 好的,我将使用 bip39.generateMnemonic() 生成助记词,并使用该助记词生成的私钥之一(使用 mnemonicToSeed())对消息进行加密和解密,对吗?跨度>
    • 好的,谢谢,我如何从该短语生成的一组密钥中选择一个私钥?
    • 链接的 NPM 包只返回集合的第一个键。但是,该标准为每个短语定义了多个键 - 因此其他一些包可能能够返回多个键。
    猜你喜欢
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 2022-06-17
    • 1970-01-01
    相关资源
    最近更新 更多