免費工具

助記詞:生成與校驗

BIP-39 助記詞是從 2,048 個詞的詞表裡取出的 12 或 24 個詞,其中編碼著一段隨機金鑰和一個校驗和。最後一個詞不是隨便選的:它校驗前面所有詞,所以寫錯一個字的助記詞過不了校驗。

生成一組新的助記詞,或貼上你自己的,我們來校驗它的校驗和。

重要:動手之前先讀這段 在網頁上生成的助記詞不能用來放真錢。本頁不向任何地方傳送內容,但它旁邊還執行著瀏覽器擴充套件、剪貼簿同步,身後還可能有別人的眼睛。真實錢包請用硬體錢包,或在沒有聯網的裝置上生成助記詞。這個頁面是用來學習、跑測試網,以及核對你手上已有的助記詞的。

它是怎麼運作的

1. 隨機性瀏覽器從系統的隨機數源取 128–256 位元,就是生成加密金鑰用的那個源。普通的隨機數生成器在這裡不行:它是可預測的。
2. 校驗和對這些位元取 SHA-256,把結果的頭幾位補到末尾:每 32 位元隨機性補一位。12 個詞就是 4 位,24 個詞是八位。
3. 詞得到的位元串按 11 位一段切開。每一段是 0 到 2047 之間的數,也就是標準詞表裡的詞序號。詞表的大小和詞數總是三的倍數,都是這麼來的。
4. 校驗反過來走:詞變成序號,序號變成位元,從頭重算 SHA-256 再與末尾比對。對不上,就是哪裡寫錯了,或者有個詞放錯了位置。

常見問題

guest@404vpn:~$ cat seed-faq.md
[01] $ 最後一個詞為什麼不能隨便選?
> 因為它裝著校驗和。詞編碼的是隨機位元,末尾再補上這段隨機資料的 SHA-256 的頭幾個位元。改動任何一個詞,校驗和就對不上,錢包就是這樣知道你輸錯了。
[02] $ 12 個詞還是 24 個,有區別嗎?
> 十二個詞是 128 位元隨機性,二十四個是 256。兩者都無法暴力破解:128 位元已經超出任何硬體的能力。選二十四通常是為了給未來留餘量或滿足某項規定,但現實中的危險不在助記詞的長度,而在它被寫在哪裡。
[03] $ 助記詞會傳到你們伺服器嗎?
> 不會。生成和校驗完全在瀏覽器裡完成:詞和隨機位元都不會離開頁面。本頁唯一的請求是我們每頁都有的匿名訪問計數,它只帶頁面地址。把網斷開,工具照樣能用,對真實錢包,本來就該這麼做。
[04] $ 第 25 個詞或 passphrase 是什麼?
> 加在助記詞之上的一個額外口令,會得出一整套完全不同的錢包。它不存在任何地方,也無法找回:忘了它,即使記得全部 24 個詞也照樣失去訪問權。這裡不涉及它,那是另一個話題。
[05] $ 工具會顯示錢包地址嗎?
> 不顯示,而且是刻意的。推導地址要多一層計算,還會誘使人在網頁上核對真實助記詞。這裡只有助記詞本身和它的校驗和。