助记词生成原理
助記詞 其實(shí) 就是 將 128bits 的 seed 補(bǔ)位成 132bits 的數(shù)值,然后 平均 拆分成 12個(gè) 數(shù)值,最后到 助記詞列表中 根據(jù)下標(biāo) 獲取對(duì)應(yīng)的 12個(gè) 單詞 組成。
-
bip39的助記詞列表:https://github.com/bitcoinjs/bip39/blob/master/wordlists/english.json
-
生成過(guò)程:
1.隨機(jī)生成 128 bits 的 seed (需是32的倍數(shù))
2.將 seed 進(jìn)行hash256運(yùn)算,獲取hash值 開(kāi)頭的 4個(gè) bits,與 seed 組成一個(gè)組新數(shù)值
3.以11bits為單位,拆分 上組新數(shù)值,每 11bits 個(gè)數(shù)值 轉(zhuǎn)成一個(gè)10進(jìn)制數(shù)
4.用這個(gè)十進(jìn)制數(shù) 作為 助記詞單詞數(shù)組 的下標(biāo),獲取 對(duì)應(yīng)的 一個(gè)單詞作為 助記詞
5.一共12組11bits數(shù),所以 生成 12個(gè) 單詞 -
圖解(來(lái)源百度):
總結(jié)
- 上一篇: 【STM32F407】第6章 RL-
- 下一篇: 钱包原理——助记词与公私钥