crypto_ext/passphrase/
mod.rs1use std::time::{SystemTime, UNIX_EPOCH};
2use sha256::digest;
3
4#[cfg(test)]
5mod tests;
6
7pub fn generate_passphrase() -> Result<String, String> {
23 let now = SystemTime::now();
24 let boxed_time_in_nanos = now.duration_since(UNIX_EPOCH);
25 if boxed_time_in_nanos.is_err() {
26 let message = format!("unable to get system time: {}", boxed_time_in_nanos.err().unwrap());
27 return Err(message)
28 }
29 let time_in_nanos = boxed_time_in_nanos.unwrap().as_nanos();
30 let hex_time_in_millis = format!("{time_in_nanos:X}");
31 let sha_timestamp = digest(hex_time_in_millis);
32 Ok(sha_timestamp)
33}