Mnemonic-Seed

種子校驗和生成

  • June 21, 2018

我正在嘗試為助記符 (BIP39) 生成校驗和,但無法獲得正確的值。

我用了3個資源

  • 這解釋了助記詞的生成<https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#Generating_the_mnemonic>
  • 這包含測試向量 <https://github.com/trezor/python-mnemonic/blob/master/vectors.json>
  • 這是單詞列表 <https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt>

我無法計算出第一個測試向量。

I SHA256 0x00000000000000000000000000000000 到 374708fff7719dd5979ec875d56cd2286f6d3cf7ec317a3b25632aab28ec37bb

前四位,即校驗和位,為 0b1101

這使得種子 + 校驗和 0b00000001101 的最後 11 位成為助記符的最後一個字。對應於 13 或索引 12“事故”。然而,在測試向量中,它的索引 4“大約”。

對於每個測試向量,我都得到了錯誤的詞。可能是一個愚蠢的錯誤。謝謝。

校驗和以十六進製表示,所以我相信第一個字元'3’代表校驗和字元串的前四位?如果是,則為 0b0011。單詞“about”實際上是索引“3”,因為單詞列表是 0 索引的(因此所有零都映射到“abandon”)。

您使用了錯誤的字節順序。在 big-endian 中,雜湊是0b0011011101000111000010001111111111110111011100011001110111010101100101111001111011001000011101011101010101101100110100100010100001101111011011010011110011110111111011000011000101111010001110110010010101100011001010101010101100101000111011000011011110111011這樣的,前四位是0b0011= 3=about

您可以在此處找到助記符驗證的 python 實現

引用自:https://bitcoin.stackexchange.com/questions/75079