Ejemplo n.º 1
0
        public static PrivateKey FromMnemonic(string mnemonicPhrase)
        {
            var mnemonic = new Mnemonic(mnemonicPhrase);

            Debug.Assert(mnemonic.Words.Length == 24);
            return(new PrivateKey(mnemonic.DeriveData()));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
            }
        }