From ef63450c8ef62874cb6694ab330ff322eef902b8 Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Sun, 29 Aug 2021 15:15:13 +0200 Subject: [PATCH] refact: scrypt Nrp parameters --- src/crypto/duniter_key.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/crypto/duniter_key.rs b/src/crypto/duniter_key.rs index 792efc7..eba3093 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 -- GitLab