4 个版本
使用旧的 Rust 2015
0.1.3 | 2017 年 5 月 25 日 |
---|---|
0.1.2 | 2017 年 5 月 24 日 |
0.1.1 | 2017 年 5 月 21 日 |
0.1.0 | 2017 年 5 月 21 日 |
#1713 in 密码学
25KB
396 行
Cryptor
Cryptor 是对应多种算法的加密机。
依赖项
将其插入您项目的 Cargo.toml 文件。
[dependencies]
cryptor = "0.1.3"
或
// Newest version
❯ cargo add cryptor
// Version specification
❯ cargo add [email protected]
// If not exist on crates.io
❯ mkdir lib
❯ cd lib
❯ git clone https://github.com/atsushi130/Cryptor
❯ cd ..
❯ cargo add cryptor --path=lib/cryptor/
默认加密算法
用法
导入模块
extern crate cryptor;
use cryptor::cryptor::{ Cryptor, CryptoValue, Algorithm };
使用此 Algorithm trait 实现 struct。
pub trait Algorithm {
type V: Algorithm;
fn encrypt(&mut self, character: &char) -> CryptoValue<Self::V>;
fn decrypt(&mut self, character: &char) -> CryptoValue<Self::V>;
}
Cryptor 有 Algorithm trait 成员。将您实现的 struct 注入到 Cryptor。
let mut cryptor = Cryptor::new(YourAlgorithm);
加密和解密方法的返回类型是 CryptoValue<YourAlgorithm>
。
let encrypted: CryptoValue<YourAlgorithm> = cryptor.encrypt(&string);
println!("encrypted string is {}", encrypted.text);
let decrypted: CryptoValue<YourAlgorithm> = cryptor.decrypt(&string);
println!("decrypted string is {}", decrypted.text);
运行
❯ cargo build
❯ cargo run
测试
❯ cargo test
变更日志
v0.1.3
定义了构建新 Cryptor 的关联函数。
impl<T: Algorithm> Cryptor<T> {
pub fn new(algorithm: T) -> Self {
Cryptor {
algorithm
}
}
}
更改了用法
let mut cryptor = Cryptor::new(your_algorithm);
许可
本项目受 MIT 和 Apache 2.0 许可协议的双重许可。
依赖项
~390KB