public static PrivateKey FromMnemonic(string mnemonicPhrase) { var mnemonic = new Mnemonic(mnemonicPhrase); Debug.Assert(mnemonic.Words.Length == 24); return(new PrivateKey(mnemonic.DeriveData())); }
public static PrivateKey FromMnemonicEncrypted(string mnemonic, string password, Network network) { var mnem = new Mnemonic(mnemonic); Debug.Assert(mnem.Words.Length == 28); var encrypted = Encoders.Base58Check.EncodeData(mnem.DeriveData()); return(EncryptedPrivateKeyFormat.Decrypt(encrypted, password, network)); }
public void MnemonicRestoreEncrypted_Language(Wordlist wordlist) { var random = new Random(); var encryptedKey = new byte[38]; // Encrypted key length is 38 bytes for (var i = 0; i < 10; i++) { random.NextBytes(encryptedKey); var mnemonic = new Mnemonic(wordlist, encryptedKey); Assert.IsTrue(mnemonic.Words.Length == 28); var restoredMnemonic = new Mnemonic(mnemonic.ToString()); var restored = restoredMnemonic.DeriveData(); Assert.IsTrue(encryptedKey.IsEqual(restored)); } }