private (string entropy, string seedHex, string mnemonic) TestVector(string description, BIP39Wordlist wordlist, string password, string entropy, string mnemonic, string seedHex) { var bip39 = new BIP39(); var entropyResult = bip39.MnemonicToEntropy(mnemonic, wordlist); var seedResult = bip39.MnemonicToSeedHex(mnemonic, password); var mnemonicResult = bip39.EntropyToMnemonic(entropy, wordlist); return(entropyResult, seedResult, mnemonicResult); }
private void Page_Loaded(object sender, RoutedEventArgs e) { BIP39 bip39 = new BIP39(); var privateKey = App.Store.State.wallet.PrivateKey; var pvkBin = Base58Encoding.DecodePrivateKey(privateKey); var pkv = ByteArrayToString(pvkBin); var mnu = bip39.EntropyToMnemonic(pkv, BIP39Wordlist.English); var words = mnu.Trim().Split(' '); // create grid for (var i = 0; i < words.Length; i++) { var tblock = new TextBlock(); var run1 = new Windows.UI.Xaml.Documents.Run { Text = $"{i + 1} " }; run1.FontSize = 12; tblock.Inlines.Add(run1); var run2 = new Windows.UI.Xaml.Documents.Run { Text = $"{words[i]}" }; run2.FontSize = 24; run2.FontWeight = FontWeights.Bold; tblock.Inlines.Add(run2); tblock.Padding = new Thickness(5); if (i < 12) { var rd = new RowDefinition { Height = new GridLength((double)42) }; wordsGrid.RowDefinitions.Add(rd); } wordsGrid.Children.Add(tblock); Grid.SetRow(tblock, i % 12); Grid.SetColumn(tblock, i / 12); } }