#加密 #aes #解密 #密钥长度 #分组密码 #des

无std magic-crypt

MagicCrypt是一个Java/PHP/NodeJS/Rust库,用于加密/解密字符串、文件或数据,使用数据加密标准(DES)或高级加密标准(AES)算法。它支持CBC分组密码模式、PKCS5填充和64、128、192或256位密钥长度。

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

Download history 3448/week @ 2024-04-20 3004/week @ 2024-04-27 2597/week @ 2024-05-04 3034/week @ 2024-05-11 3346/week @ 2024-05-18 2924/week @ 2024-05-25 3342/week @ 2024-06-01 3742/week @ 2024-06-08 3938/week @ 2024-06-15 3837/week @ 2024-06-22 2584/week @ 2024-06-29 4207/week @ 2024-07-06 3270/week @ 2024-07-13 3864/week @ 2024-07-20 3468/week @ 2024-07-27 2277/week @ 2024-08-03

13,523次每月下载
用于 24 个crate(20个直接)

Apache-2.0

51KB
1K SLoC

MagicCrypt

CI

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

文档

https://docs.rs/magic-crypt

针对Java

参考https://github.com/magiclen/MagicCrypt

针对PHP

参考https://github.com/magiclen/MagicCrypt

针对NodeJS

参考https://github.com/magiclen/node-magiccrypt

许可

Apache-2.0

还有更多?

请访问我们的网页

https://magiclen.org/aes/

依赖关系

~1.5MB
~27K SLoC