| Crates.io | classical-ciphers |
| lib.rs | classical-ciphers |
| version | 0.1.0 |
| created_at | 2026-01-20 01:32:43.365919+00 |
| updated_at | 2026-01-20 01:32:43.365919+00 |
| description | Classical cipher implementations: Caesar, Vigenère, Atbash, XOR |
| homepage | |
| repository | https://github.com/monokrome/classical-ciphers |
| max_upload_size | |
| id | 2055618 |
| size | 42,132 |
Simple implementations of classical ciphers in Rust.
use classical_ciphers::{Caesar, Vigenere, Atbash, Xor, Cipher};
// Caesar cipher
let caesar = Caesar::new(3);
assert_eq!(caesar.encrypt("HELLO"), "KHOOR");
assert_eq!(caesar.decrypt("KHOOR"), "HELLO");
// ROT13
let rot13 = Caesar::rot13();
assert_eq!(rot13.encrypt("HELLO"), "URYYB");
// Vigenère cipher
let vigenere = Vigenere::new("KEY");
assert_eq!(vigenere.encrypt("HELLO"), "RIJVS");
// Atbash cipher
let atbash = Atbash::new();
assert_eq!(atbash.encrypt("ABC"), "ZYX");
// XOR cipher
let xor = Xor::with_str_key("KEY");
let encrypted = xor.encrypt("Hello");
let decrypted = xor.decrypt(&encrypted);
assert_eq!(decrypted, "Hello");
MIT