[keys] Fix entropy generation

This commit is contained in:
Alekos Filini 2020-09-24 15:59:46 +02:00
parent b294b11c54
commit 82251a8de4
No known key found for this signature in database
GPG Key ID: 5E8AFC3034FDFA4F
2 changed files with 16 additions and 1 deletions

View File

@ -154,4 +154,15 @@ mod test {
assert_eq!(generated_mnemonic.valid_networks, any_network()); assert_eq!(generated_mnemonic.valid_networks, any_network());
assert_eq!(generated_mnemonic.to_string(), "primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary foster"); assert_eq!(generated_mnemonic.to_string(), "primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary foster");
} }
#[test]
fn test_keys_generate_bip39_random() {
let generated_mnemonic: GeneratedKey<_, miniscript::Segwitv0> =
Mnemonic::generate((MnemonicType::Words12, Language::English)).unwrap();
assert_eq!(generated_mnemonic.valid_networks, any_network());
let generated_mnemonic: GeneratedKey<_, miniscript::Segwitv0> =
Mnemonic::generate((MnemonicType::Words24, Language::English)).unwrap();
assert_eq!(generated_mnemonic.valid_networks, any_network());
}
} }

View File

@ -389,7 +389,11 @@ pub trait GeneratableKey<Ctx: ScriptContext>: Sized {
use rand::{thread_rng, Rng}; use rand::{thread_rng, Rng};
let mut entropy = Vec::<u8>::with_capacity(Self::ENTROPY_LENGTH); let mut entropy = Vec::<u8>::with_capacity(Self::ENTROPY_LENGTH);
thread_rng().fill(&mut entropy[..]); for _ in 0..Self::ENTROPY_LENGTH {
entropy.push(0x00);
}
thread_rng().fill(&mut entropy[..Self::ENTROPY_LENGTH]);
Self::generate_with_entropy(options, &entropy) Self::generate_with_entropy(options, &entropy)
} }