Wallet
從終端計算助記符
我想用終端複製助記符。步驟是:
- 創建一個 128 到 256 位的隨機序列(熵)。
- 通過獲取其 SHA256 散列的第一個(熵長度/32)位來創建隨機序列的校驗和。
- 將校驗和添加到隨機序列的末尾。
- 將序列分成 11 位的部分。
- 將每個 11 位值映射到 2048 個單詞的預定義字典中的一個單詞。
- 助記符是單詞的序列。
我可以看到這張圖片
我把這個熵
0c1e24e5917779d297e14d45f14e1a1a
如果我跟隨圖像,我會創建校驗和
printf 0c1e24e5917779d297e14d45f14e1a1a | xxd -r -p | sha256sum -b
結果
76e57a90f93135e97ce700a9e79196ba46315d65e696d0a4518270a8de3e80e4
然後取 4 位(0,5 byte => 1 char )並用這個結果附加到我的熵:
0c1e24e5917779d297e14d45f14e1a1a7
現在我有 132 位而且我必須分成 12 段,每段 11 位
我嘗試以 2 為基礎進行轉換
echo "ibase=16; obase=2; 0C1E24E5917779D297E14D45F14E1A1A7" | bc 11000001111000100100111001011001000101110111011110011101001010010111111000010100110101000101111100010100111000011010000110100111
但結果不正確,如果我把熵放在<https://iancoleman.io/bip39/#entropy-notes>我可以看到結果
00001100000 11110001001 00111001011 00100010111 01110111100 11101001010 01011111100 00101001101 01000101111 10001010011 10000110100 0011010
但我不明白如何獲得
00001100000 = 96 = 軍隊
您的二進製文件(包括 4 個校驗和位
0111
或 7 個)已刪除前導空值。
(0000)1100000 11110001001 00111001011 00100010111 01110111100 11101001010 01011111100 00101001101 01000101111 10001010011 10000110100 00110100111
0111
這與網路工具中的二進製文件(沒有校驗和位)相同:
00001100000 11110001001 00111001011 00100010111 01110111100 11101001010 01011111100 00101001101 01000101111 10001010011 10000110100 0011010....
(注意最後缺少的校驗和位……)