fn hex_encode(bytes: &[u8]) -> String
Encodes bytes as lowercase hexadecimal without invoking an external tool.