Web3js

2 個不同的人獲得相同地址或私鑰或 12/24 組助記符的機率是多少

  • June 21, 2020

問題!!


  1. 2 個人獲得相同的 12 或 24 字助記符的機會有多大?
  2. 在web3.js中,有一個函式’ web3.eth.accounts.wallet ‘……它吐出一組賬戶和私鑰……得到錢包或地址的機率是多少?(我認為它與上述問題有關)
  3. (Noobie 問題)假設我生成了一個錢包。現在,
  • 是否可以從該錢包創建 12/24 助記符(大多數情況下沒有,但我仍然需要你的觀點)
  • 如果我想使用 javascript 創建自己的錢包,我怎樣才能獲得該功能來生成那組助記符(Metamask 使用的功能)

2 個人獲得相同的 12 或 24 字助記符的機會有多大?

助記詞從 128 位(12 個字)到 256 位(24 個字)的熵生成。猜到一個助記詞的機率是2^-128到2^-256,非常小。助記詞越長,猜到的機會就越小。

是否可以從該錢包創建 12/24 助記符?

助記詞只有一種方式。您生成一個助記詞,並從中派生一個私鑰。您不能將私鑰“導入”到助記詞中,而不強制使用助記詞。如上所述,這幾乎是不可能的。

這裡是助記詞更詳細的解釋。

如果我想使用 javascript 創建自己的錢包,我怎樣才能獲得該功能來生成那組助記符

您可以使用 Ethers.js 生成隨機助記詞:

import { utils } from 'ethers';

const entropy = utils.randomBytes(16);
const mnemonicPhrase = utils.entropyToMnemonic(entropy);

這將生成一個隨機的 12 字助記詞。如果要生成 24 字的助記詞,utils.randomBytes(16)改為utils.randomBytes(32)改為。

引用自:https://ethereum.stackexchange.com/questions/84431