#cipher #caesar #caesar-cipher #capabilities

bin+lib caesarlib

为 Rust 量身定制的凯撒密码库

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 加密学

MIT 许可证

8KB
154

caesarlib

为 Rust 提供凯撒密码功能。
Build Status

用法

将以下内容添加到您的 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