(server_key: &[u8], password: &str)
| 52 | } |
| 53 | |
| 54 | fn derive_master_key(server_key: &[u8], password: &str) -> [u8; 32] { |
| 55 | let user_secret = hash_password(password); |
| 56 | let key = hmac::Key::new(hmac::HMAC_SHA256, server_key); |
| 57 | let derived = hmac::sign(&key, &user_secret); |
| 58 | let mut result = [0u8; 32]; |
| 59 | result.copy_from_slice(derived.as_ref()); |
| 60 | result |
| 61 | } |
| 62 | |
| 63 | fn get_current_timestamp() -> u64 { |
| 64 | SystemTime::now() |
no test coverage detected