4 个版本
使用旧的 Rust 2015
0.2.0 | 2017 年 3 月 23 日 |
---|---|
0.1.3 | 2017 年 3 月 21 日 |
0.1.2 | 2017 年 3 月 19 日 |
0.1.1 | 2017 年 3 月 19 日 |
#2279 in 加密学
8KB
154 行
caesarlib
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
caesarlib = "0.2.0"
并将以下内容添加到您的 crate 根目录
extern crate caesarlib;
use caesarlib::*;
方法
// With custom base sequence
// Can look like "ABC...Zabc...z"
custom_encipher(base_seq: &str, offset: u16, message: &str) -> String
custom_decipher(base_seq: &str, offset: u16, message: &str) -> String
// With roman/latin characters
// Looks like the example for custom base sequences
fn encipher(offset: u16, message: &str) -> String;
fn decipher(offset: u16, message: &str) -> String;
// Returns randomly-generated offset and enciphered text
fn rdm_encipher(message: &str) -> (u16, String)
命令行工具
您可以使用 caesar-cli
工具尝试此库
$ caesarlib --method encipher --offset 87 --text "Carolus Magnus"
Result: lJaXUdb vJPWdb
With Offset: 87
$ caesarlib --method decipher --offset 87 —text "lJaXUdb vJPWdb"
Result: Carolus Magnus
With Offset: 87
$ caesarlib --random --text "Carolus Magnus"
Result: qOfcZig AOUbig
With Offset: 51312
贡献者
背景
这受到了我在 Swift 中实现的凯撒密码算法 的启发,该算法用于我的 iOS 应用 caesarlib
依赖
~0.7–1MB
~13K SLoC