Only pass actual mnemonic into pbkdf2

This commit is contained in:
Steven Roose 2021-03-24 18:39:03 +00:00
parent 44397cc255
commit 5fe9d2b094
No known key found for this signature in database
GPG Key ID: 2F2A88D7F8D68E87
2 changed files with 2 additions and 10 deletions

View File

@ -406,8 +406,9 @@ impl Mnemonic {
const PBKDF2_ROUNDS: usize = 2048;
const PBKDF2_BYTES: usize = 64;
let nb_words = self.word_count();
let mut seed = [0u8; PBKDF2_BYTES];
pbkdf2::pbkdf2(&self.0, normalized_passphrase.as_bytes(), PBKDF2_ROUNDS, &mut seed);
pbkdf2::pbkdf2(&self.0[0..nb_words], normalized_passphrase.as_bytes(), PBKDF2_ROUNDS, &mut seed);
seed
}

View File

@ -8,9 +8,6 @@ fn mnemonic_byte_len(mnemonic: &[&'static str]) -> usize {
let mut len = 0;
for i in 0..mnemonic.len() {
let word = &mnemonic[i];
if word.is_empty() {
break;
}
if i > 0 {
len += 1;
}
@ -23,9 +20,6 @@ fn mnemonic_byte_len(mnemonic: &[&'static str]) -> usize {
fn mnemonic_write_into(mnemonic: &[&'static str], engine: &mut sha512::HashEngine) {
for i in 0..mnemonic.len() {
let word = &mnemonic[i];
if word.is_empty() {
break;
}
if i > 0 {
engine.input(" ".as_bytes());
}
@ -61,9 +55,6 @@ fn create_hmac_engine(mnemonic: &[&'static str]) -> hmac::HmacEngine<sha512::Has
let mut cursor = 0;
for i in 0..mnemonic.len() {
let word = &mnemonic[i];
if word.is_empty() {
break;
}
if i > 0 {
ipad[cursor] ^= ' ' as u8;
opad[cursor] ^= ' ' as u8;