Generates time-based token key from master key
(master_key: &MasterKey, timestamp: u64)
| 112 | |
| 113 | // Generates time-based token key from master key |
| 114 | pub fn generate_token_key(master_key: &MasterKey, timestamp: u64) -> hmac::Key { |
| 115 | // Create HMAC key from master key |
| 116 | let key = hmac::Key::new(hmac::HMAC_SHA256, &master_key.0); |
| 117 | |
| 118 | // Convert timestamp to bytes and sign with master key |
| 119 | let ts_bytes = timestamp.to_be_bytes(); |
| 120 | hmac::Key::new(hmac::HMAC_SHA256, hmac::sign(&key, &ts_bytes).as_ref()) |
| 121 | } |
| 122 | |
| 123 | // Retrieves current Unix timestamp for token generation |
| 124 | pub fn get_current_timestamp() -> u64 { |