BIP39 助记词:你的私钥其实就藏在那 12 个英文单词里
一次抄错一个字母,钱包怎么都导不出来
朋友把 12 个助记词抄在纸上,导入新钱包时提示「无效」。逐词核对,发现把 silent 写成了 silent 的形近词 silen(少个 t)—— 就这一个字母,整串词直接作废。后来才知道,BIP39 助记词自带校验和,错一个词立刻能被发现,但前提是你的钱包软件会去校验。
本文把 BIP39 这件事一次讲清:词是怎么来的、校验和怎么防抄错、种子又是怎么派生出来的。
助记词不是随便选的单词
BIP39 的助记词由**熵(随机数据)**生成,而不是人挑的。流程:
- 先生成一段随机熵,长度通常是 128 / 160 / 192 / 224 / 256 位(对应 12 / 15 / 18 / 21 / 24 个词)。
- 对熵做 SHA-256,取前几位作为校验和(位数 = 熵位数 ÷ 32)。例如 128 位熵 → 4 位校验和。
- 把「熵 + 校验和」拼成比特串,按每 11 位一组切分,每组查 BIP39 标准词表(2048 个英文单词)得到对应的词。
所以 12 个词 = (128 + 4) ÷ 11 = 12 组。词表固定 2048 个词,恰好 2¹¹,因此每个 11 位编号唯一对应一个词。
本工具生成时用的就是同一套算法:随机熵 → SHA-256 取校验和 → 11 位分组查表。你点「随机生成」拿到的词,和任何符合 BIP39 的钱包生成的完全兼容。
校验和:抄错一个词立刻现形
校验和的妙处在于容错检测。如果你把某个词抄错成另一个存在的词(比如 silen 也是词表里合法的一个词),总位数没变、仍能切出 12 个词,但重新计算校验和就会对不上——钱包据此判断「这串词不合法」。
本工具的「实时校验」会逐词标红不在词表中的词,并在全部合法时进一步核对校验和,告诉你:
- 词数是否为 12/15/18/21/24;
- 每个词是否都在标准词表内;
- 整体校验和是否正确。
注意:校验和只能检测「是否被改坏」,不能告诉你原本应该是什么词。所以抄写后务必用工具核一遍。
种子派生:助记词 ≠ 私钥
很多人以为助记词就是私钥,其实不是。助记词还要经过一步种子派生才得到真正用于 HD 钱包(BIP32)的根种子:
种子 = PBKDF2(
密码 = 助记词(NFKD 归一化),
盐 = "mnemonic" + 可选密码(passphrase),
迭代次数 = 2048,
输出长度 = 64 字节,
伪随机函数 = HMAC-SHA512
)
本工具点「派生种子」就是用这个公式算出那串 64 字节(128 个十六进制字符)的种子。
「第 25 个词」密码到底是什么
上面公式里的 可选密码(passphrase) 就是传说中的 BIP39 passphrase / 第 25 词。它的关键性质:
- 同一个助记词 + 不同密码 = 完全不同的种子 = 完全不同的钱包资产。
- 密码没有校验和,打错一个字符不会报错,只是默默派生出一个谁也找不回的空钱包。
- 它常被用作「隐藏钱包」:主密码保护日常资产,另一个密码保护”看不见”的资产。
强烈建议:用了 passphrase 就把密码和助记词分开妥善保管,二者缺一不可,且密码输错不会提示。
常见速查
| 词数 | 熵长度 | 校验和 | 总比特 |
|---|---|---|---|
| 12 | 128 位 | 4 位 | 132 位 |
| 15 | 160 位 | 5 位 | 165 位 |
| 18 | 192 位 | 6 位 | 198 位 |
| 21 | 224 位 | 7 位 | 231 位 |
| 24 | 256 位 | 8 位 | 264 位 |
常见问题
Q:不同钱包生成的同一串词,种子一样吗? 只要都严格遵循 BIP39(大多数主流钱包都遵循),种子完全一致,可以跨钱包恢复。
Q:为什么我输入正确的词却提示校验和错误? 常见原因:多了或少了空格、混入了全角空格、词序错乱、或某个词拼写偏差(即便仍是合法单词)。逐词对照本工具的标红提示。
Q:助记词能截图保存吗? 不建议。截图会进相册/云备份,极大增加泄露风险。优先手写纸质备份,或考虑金属助记词板防火防水。
Q:用了 passphrase,助记词对了还导不出资产? 说明密码也输错了(密码无校验和,错也不会报错)。请确认大小写和每个字符。
Q:校验和通过就代表钱包里有钱吗? 不。校验和只证明这串词「格式合法、自洽」,和链上是否有资产无关。
Q:派生种子需要联网吗? 不需要。本工具所有运算都在浏览器本地完成,助记词和种子不会离开你的设备。验证地址时也可配合 区块链地址校验 一起用。