Skip to content

Commit 5fe9d2b

Browse files
committed
Only pass actual mnemonic into pbkdf2
1 parent 44397cc commit 5fe9d2b

File tree

2 files changed

+2
-10
lines changed

2 files changed

+2
-10
lines changed

src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,8 +406,9 @@ impl Mnemonic {
406406
const PBKDF2_ROUNDS: usize = 2048;
407407
const PBKDF2_BYTES: usize = 64;
408408

409+
let nb_words = self.word_count();
409410
let mut seed = [0u8; PBKDF2_BYTES];
410-
pbkdf2::pbkdf2(&self.0, normalized_passphrase.as_bytes(), PBKDF2_ROUNDS, &mut seed);
411+
pbkdf2::pbkdf2(&self.0[0..nb_words], normalized_passphrase.as_bytes(), PBKDF2_ROUNDS, &mut seed);
411412
seed
412413
}
413414

src/pbkdf2.rs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ fn mnemonic_byte_len(mnemonic: &[&'static str]) -> usize {
88
let mut len = 0;
99
for i in 0..mnemonic.len() {
1010
let word = &mnemonic[i];
11-
if word.is_empty() {
12-
break;
13-
}
1411
if i > 0 {
1512
len += 1;
1613
}
@@ -23,9 +20,6 @@ fn mnemonic_byte_len(mnemonic: &[&'static str]) -> usize {
2320
fn mnemonic_write_into(mnemonic: &[&'static str], engine: &mut sha512::HashEngine) {
2421
for i in 0..mnemonic.len() {
2522
let word = &mnemonic[i];
26-
if word.is_empty() {
27-
break;
28-
}
2923
if i > 0 {
3024
engine.input(" ".as_bytes());
3125
}
@@ -61,9 +55,6 @@ fn create_hmac_engine(mnemonic: &[&'static str]) -> hmac::HmacEngine<sha512::Has
6155
let mut cursor = 0;
6256
for i in 0..mnemonic.len() {
6357
let word = &mnemonic[i];
64-
if word.is_empty() {
65-
break;
66-
}
6758
if i > 0 {
6859
ipad[cursor] ^= ' ' as u8;
6960
opad[cursor] ^= ' ' as u8;

0 commit comments

Comments
 (0)