rail_fence_cipher 0.1.0

A crate that provides functions to encrypt and decrypt strings using the rail fence cipher.
Documentation
// performs rail fence cipher encryption, keeping spaces
pub fn encrypt(input: &str, key: i32) -> String {
    let vec_len = input.len() / key as usize + 1;
    let mut fence: Vec<Vec<char>> = vec![vec![' '; vec_len]; key as usize];
    let mut rail: i32 = 0;
    let mut dir: i32 = 1;
    for c in input.chars() {
        let column_index = fence[rail as usize].iter().position(|&x| x == ' ').unwrap();
        println!("fernce: {:?}", fence);
        fence[rail as usize][column_index] = c;

        rail += dir;
        if rail == 0 || rail == key as i32 - 1 {
            dir = -dir;
        }

    }
    let mut result = String::new();
    for rail in fence {
        for c in rail {
            if c != ' ' {
                result.push(c);
            }
        }
    }
    result
}