它是怎么运作的
1. 随机性浏览器从系统的随机数源取 128–256 比特,就是生成加密密钥用的那个源。普通的随机数生成器在这里不行:它是可预测的。
2. 校验和对这些比特取 SHA-256,把结果的头几位补到末尾:每 32 比特随机性补一位。12 个词就是 4 位,24 个词是八位。
3. 词得到的比特串按 11 位一段切开。每一段是 0 到 2047 之间的数,也就是标准词表里的词序号。词表的大小和词数总是三的倍数,都是这么来的。
4. 校验反过来走:词变成序号,序号变成比特,从头重算 SHA-256 再与末尾比对。对不上,就是哪里写错了,或者有个词放错了位置。