pub fn hash_bytes(data: &[u8]) -> [u8; 32]
Compute SHA-256 of arbitrary bytes, returning a 32-byte array.