1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use crate::Buffer;
mod caesar;
pub use self::caesar::Caesar;
mod affine;
pub use self::affine::Affine;
mod vigenere;
pub use self::vigenere::Vigenere;
pub trait Encrypt {
type Error: std::error::Error;
fn encrypt(&self, buf: &mut Buffer) -> Result<(), Self::Error>;
}
pub trait Decrypt {
type Error: std::error::Error;
fn decrypt(&self, buf: &mut Buffer) -> Result<(), Self::Error>;
}