utils.rs 525 B

12345678910111213141516171819202122
  1. //! Utils
  2. use std::time::SystemTime;
  3. use bitcoin::hashes::sha256::Hash as Sha256;
  4. use bitcoin::hashes::Hash;
  5. use rand::prelude::*;
  6. pub fn random_hash() -> Vec<u8> {
  7. let mut rng = rand::thread_rng();
  8. let mut random_bytes = [0u8; Sha256::LEN];
  9. rng.fill_bytes(&mut random_bytes);
  10. let hash = Sha256::hash(&random_bytes);
  11. hash.to_byte_array().to_vec()
  12. }
  13. pub fn unix_time() -> u64 {
  14. SystemTime::now()
  15. .duration_since(SystemTime::UNIX_EPOCH)
  16. .map(|x| x.as_secs())
  17. .unwrap_or(0)
  18. }