免費工具

助記詞:生成與校驗

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] $ 工具會顯示錢包地址嗎?
> 不顯示,而且是刻意的。推導地址要多一層計算,還會誘使人在網頁上核對真實助記詞。這裏只有助記詞本身和它的校驗和。