hanifx 0.1.0

Master-level encoding module for text and files. Safe decode included.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
pub fn decode(encoded: &str, key: &str) -> Option<String> {
    if key.is_empty() { return None; }

    let mut decoded_chars: Vec<char> = encoded.chars()
        .rev()
        .enumerate()
        .map(|(i, c)| {
            let shift = key.chars().nth(i % key.len()).unwrap_or('a') as u8;
            ((c as u8).wrapping_sub(shift)) as char
        })
        .collect();

    Some(decoded_chars.into_iter().collect())
}