Only pass actual mnemonic into pbkdf2
This commit is contained in:
parent
44397cc255
commit
5fe9d2b094
|
@ -406,8 +406,9 @@ impl Mnemonic {
|
||||||
const PBKDF2_ROUNDS: usize = 2048;
|
const PBKDF2_ROUNDS: usize = 2048;
|
||||||
const PBKDF2_BYTES: usize = 64;
|
const PBKDF2_BYTES: usize = 64;
|
||||||
|
|
||||||
|
let nb_words = self.word_count();
|
||||||
let mut seed = [0u8; PBKDF2_BYTES];
|
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
|
seed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,6 @@ fn mnemonic_byte_len(mnemonic: &[&'static str]) -> usize {
|
||||||
let mut len = 0;
|
let mut len = 0;
|
||||||
for i in 0..mnemonic.len() {
|
for i in 0..mnemonic.len() {
|
||||||
let word = &mnemonic[i];
|
let word = &mnemonic[i];
|
||||||
if word.is_empty() {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
len += 1;
|
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) {
|
fn mnemonic_write_into(mnemonic: &[&'static str], engine: &mut sha512::HashEngine) {
|
||||||
for i in 0..mnemonic.len() {
|
for i in 0..mnemonic.len() {
|
||||||
let word = &mnemonic[i];
|
let word = &mnemonic[i];
|
||||||
if word.is_empty() {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
engine.input(" ".as_bytes());
|
engine.input(" ".as_bytes());
|
||||||
}
|
}
|
||||||
|
@ -61,9 +55,6 @@ fn create_hmac_engine(mnemonic: &[&'static str]) -> hmac::HmacEngine<sha512::Has
|
||||||
let mut cursor = 0;
|
let mut cursor = 0;
|
||||||
for i in 0..mnemonic.len() {
|
for i in 0..mnemonic.len() {
|
||||||
let word = &mnemonic[i];
|
let word = &mnemonic[i];
|
||||||
if word.is_empty() {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
ipad[cursor] ^= ' ' as u8;
|
ipad[cursor] ^= ' ' as u8;
|
||||||
opad[cursor] ^= ' ' as u8;
|
opad[cursor] ^= ' ' as u8;
|
||||||
|
|
Loading…
Reference in New Issue