Пример #1
0
        public void BIP39_TestSeeds()
        {
            // Create a mnemonic of size 0x10 and verify it.
            MnemonicPhrase mnemonic1 = new MnemonicPhrase(WordListLanguage.English, new byte[0x10]);

            Assert.True(mnemonic1.Verify());

            // Derive seed from our data.
            byte[] seed = mnemonic1.DeriveKeySeed("testTestTest!!!");
            Assert.Equal("A424DD4B5DBEB58B44B36DB439FEC78D77853563234FFEE8C2912C4BD32D29DF2C5828728FDC6EF77AEC1CB7271A9D7C04D86A6642B1B0A2D6A9048CC636755A", seed.ToHexString(), StringComparer.InvariantCultureIgnoreCase);

            // Create a mnemonic of size 0x20 and verify it.
            MnemonicPhrase mnemonic2 = new MnemonicPhrase(WordListLanguage.English, new byte[0x20]);

            Assert.True(mnemonic2.Verify());

            // Derive seed from our data.
            seed = mnemonic2.DeriveKeySeed("totallyDifferentPassword?");
            Assert.Equal("95DC7BE1A5362EF01D970BE636665276F15946F7C77D46A54423A1C068B435981369F879DB50E6B1D3291A4821F8F78FF433E97AE850F8244770A22A772479A2", seed.ToHexString(), StringComparer.InvariantCultureIgnoreCase);

            // Create a mnemonic from a mnemonic string.
            MnemonicPhrase mnemonic3 = new MnemonicPhrase("abandon math mimic master filter design carbon cactus bachelor bag speed print guess session goat acquire captain olive best smooth joy erode able despair");

            Assert.True(mnemonic3.Verify());

            // Derive seed from our data.
            seed = mnemonic3.DeriveKeySeed("staticMnemonicStringPassword...#*($10@");
            Assert.Equal("78A7C9E99AF640D818EB5D990E1C2F0BF91E68C20BED59E5EBA38A483B1D1ECBB2ED8DF31DED0164048A23F30EBF7E6B6F2A8D06584741D36DD36D4177DC04F6", seed.ToHexString(), StringComparer.InvariantCultureIgnoreCase);
        }
Пример #2
0
        public void BIP39_GenerateMnemonic()
        {
            // Generate 10 different phrases.
            for (int i = 0; i < 10; i++)
            {
                // Generate a mnemonic and verify it.
                MnemonicPhrase mnemonic = new MnemonicPhrase(WordListLanguage.English, null);
                Assert.True(mnemonic.Verify());

                // Parse the generated mnemonic from a string and verify it.
                MnemonicPhrase mnemonicCopy = new MnemonicPhrase(mnemonic.MnemonicString);
                Assert.True(mnemonicCopy.Verify());
            }
        }