Struct cipher_crypt::fractionatedmorse::FractionatedMorse
[−]
[src]
pub struct FractionatedMorse { /* fields omitted */ }A Fractionated Morse cipher.
This struct is created by the new() method. See its documentation for more.
Trait Implementations
impl Cipher for FractionatedMorse[src]
type Key = String
type Algorithm = FractionatedMorse
fn new(key: String) -> Result<FractionatedMorse, &'static str>
Initialise a Fractionated Morse cipher given a specific key.
Will return Err if the key contains non-alphabetic symbols.
fn encrypt(&self, message: &str) -> Result<String, &'static str>
Encrypt a message using a Fractionated Morse cipher.
Morse code supports the characters a-z, A-Z, 0-9 and the special characters
@ ( ) . , : ' " ! ? - ; =. This function will return Err if the message contains any
symbol not in this list.
Examples
Basic usage:
use cipher_crypt::{Cipher, FractionatedMorse}; let fm = FractionatedMorse::new(String::from("key")).unwrap(); assert_eq!("cpsujiswhsspfanr", fm.encrypt("AttackAtDawn!").unwrap());
fn decrypt(&self, cipher_text: &str) -> Result<String, &'static str>
Decrypt a message using a Fractionated Morse cipher.
The Fractionated Morse alphabet only contains the normal alphabetic characters a-z,
therefore this function will return Err if the message contains any non-alphabetic
characters. Furthermore, it is possible that a purely alphabetic message will not produce
valid Morse code, in which case an Err will again be returned.
Examples
Basic usage:
use cipher_crypt::{Cipher, FractionatedMorse}; let fm = FractionatedMorse::new(String::from("key")).unwrap(); assert_eq!("attackatdawn!", fm.decrypt("cpsujiswhsspfanr").unwrap());