pub fn obfuscate_code(base: &ErrorCode) -> ErrorCodeExpand description
Apply obfuscation to an error code using current session salt.
Creates a new ErrorCode with:
- Same namespace (e.g., “CFG”)
- Same category (e.g., Configuration)
- Offset numeric code (e.g., 100 → 103)
The offset wraps within the namespace’s range to avoid collisions.
§Example
use palisade_errors::{obfuscation, definitions};
// Base: E-CFG-100
obfuscation::init_session_salt(3);
let obfuscated = obfuscation::obfuscate_code(&definitions::CFG_PARSE_FAILED);
// Result: E-CFG-103
obfuscation::init_session_salt(7);
let obfuscated = obfuscation::obfuscate_code(&definitions::CFG_PARSE_FAILED);
// Result: E-CFG-107§Namespace Safety
The obfuscation ensures codes stay within their namespace:
- CFG (100-199): offsets wrap within 100-199
- IO (800-899): offsets wrap within 800-899
- etc.