#[must_use]
pub fn cache_key_client_token(raw: &str) -> String {
sha256::digest(raw)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn token_is_stable_and_length_64_hex() {
let a = cache_key_client_token("user:_:*:100:false:abc");
let b = cache_key_client_token("user:_:*:100:false:abc");
assert_eq!(a, b);
assert_eq!(a.len(), 64);
assert!(a.chars().all(|c| c.is_ascii_hexdigit()));
}
#[test]
fn token_differs_when_input_differs() {
assert_ne!(cache_key_client_token("a"), cache_key_client_token("b"));
}
}