diff --git a/src/crypto/duniter_key.rs b/src/crypto/duniter_key.rs index 792efc75ee6d5ef91b0619e6ead25b2a524c665f..eba309304a728862a91f98261a00a7eb36d2908a 100644 --- a/src/crypto/duniter_key.rs +++ b/src/crypto/duniter_key.rs @@ -10,6 +10,9 @@ use crate::crypto::duniter_signature::DuniterSignature; const PUBLIC_KEY_LEN: usize = 32; const SECRET_KEY_LEN: usize = 64; +const SCRYPT_N: u8 = 12; +const SCRYPT_R: u32 = 16; +const SCRYPT_P: u32 = 1; /// The main functional class for handle Duniter crypto. pub struct DuniterKey { @@ -54,7 +57,7 @@ impl DuniterKey { fn derive_seed(salt: &str, passwd: &str) -> Result<Output, Box<dyn Error>> { let saltb64 = base64::encode(salt); // convert utf8 to base64 let salt = SaltString::new(saltb64.as_str())?; // expectes base64-encoded str - let params = Params::new(12, 16, 1)?; + let params = Params::new(SCRYPT_N, SCRYPT_R, SCRYPT_P)?; let password_hash = Scrypt.hash_password(passwd.as_bytes(), None, params, &salt)?; Ok(password_hash.hash.expect("Seed should have been generated")) } \ No newline at end of file