28个稳定版本
3.1.13 | 2023年11月10日 |
---|---|
3.1.12 | 2022年10月14日 |
3.1.10 | 2022年3月17日 |
3.1.9 | 2021年9月19日 |
2.1.4 | 2018年11月14日 |
#179 in 加密学
13,523次每月下载
用于 24 个crate(20个直接)
51KB
1K SLoC
MagicCrypt
MagicCrypt是一个Java/PHP/NodeJS/Rust库,用于加密/解密字符串、文件或数据,使用数据加密标准(DES)或高级加密标准(AES)算法。它支持CBC分组密码模式、PKCS5填充和64、128、192或256位密钥长度。
针对Rust
示例
use magic_crypt::{new_magic_crypt, MagicCryptTrait};
let mc = new_magic_crypt!("magickey", 256);
let base64 = mc.encrypt_str_to_base64("http://magiclen.org");
assert_eq!("DS/2U8royDnJDiNY2ps3f6ZoTbpZo8ZtUGYLGEjwLDQ=", base64);
assert_eq!("http://magiclen.org", mc.decrypt_base64_to_string(&base64).unwrap());
更改缓冲区大小
encrypt_reader_to_writer
方法和 decrypt_reader_to_writer
方法的默认缓冲区大小为4096字节。如果您想更改它,可以使用 encrypt_reader_to_writer2
方法或 decrypt_reader_to_writer2
方法,并显式定义一个长度。
例如,要将缓冲区大小更改为256字节,
use std::io::Cursor;
use base64::Engine;
use magic_crypt::{new_magic_crypt, MagicCryptTrait};
use magic_crypt::generic_array::typenum::U256;
let mc = new_magic_crypt!("magickey", 256);
let mut reader = Cursor::new("http://magiclen.org");
let mut writer = Vec::new();
mc.encrypt_reader_to_writer2::<U256>(&mut reader, &mut writer).unwrap();
let base64 = base64::engine::general_purpose::STANDARD.encode(&writer);
assert_eq!("DS/2U8royDnJDiNY2ps3f6ZoTbpZo8ZtUGYLGEjwLDQ=", base64);
assert_eq!("http://magiclen.org", mc.decrypt_base64_to_string(&base64).unwrap());
无Std
禁用默认功能以在不使用std的情况下编译此crate。
[dependencies.magic-crypt]
version = "*"
default-features = false
Crates.io
https://crates.io/crates/magic-crypt
文档
针对Java
参考https://github.com/magiclen/MagicCrypt。
针对PHP
参考https://github.com/magiclen/MagicCrypt。
针对NodeJS
参考https://github.com/magiclen/node-magiccrypt。
许可
还有更多?
请访问我们的网页
依赖关系
~1.5MB
~27K SLoC