bip39主要在区块链中生成助记词。
生成步骤为:
生成ENT位的初始熵
生成校验和,校验和的长度为ENT/32,取熵hash后的前ENT/32位作为校验和
将这个校验和附加到初始熵的末尾
将步骤3组成的串按每11位进行切割,编码为0-2047的数字(因为BIP39的词库是2048个,即2的11次方)
根据步骤4得到的每11位的数字索引匹配词库中的相应单词
根据步骤5得到的单词连接起来即得到最终的助记词串
import 'package:bip39/bip39.dart' as bip39;
///直接生成助记词
var bip39_str = bip39.generateMnemonic();
print('bip39_str:$bip39_str');
bip39_str = 'uncle section across dad aerobic walnut state absorb finger pumpkin mention cargo';
///助记词--seed
final seed = bip39.mnemonicToSeed(bip39_str);
print('bip39_seed:$seed');
final seed_hex = bip39.mnemonicToSeedHex(bip39_str);
print('bip39_seed_hex:$seed_hex');
网友评论