use sha2::{Digest, Sha256};
pub fn hash_text(text: &str) -> String {
let mut hasher = Sha256::new();
hasher.update(text.as_bytes());
hex::encode(hasher.finalize())
}
pub fn hash_canonical_bytes(canonical_version: u32, canonical_bytes: &[u8]) -> String {
let mut hasher = Sha256::new();
hasher.update(canonical_version.to_be_bytes());
hasher.update([0]);
hasher.update(canonical_bytes);
hex::encode(hasher.finalize())
}
pub fn hash_token_bytes(canonical_version: u32, token_bytes: &[u8]) -> String {
let mut hasher = Sha256::new();
hasher.update(canonical_version.to_be_bytes());
hasher.update([1]);
hasher.update(token_bytes);
hex::encode(hasher.finalize())
}