[package]
name = "encryption-rust"
version = "1.0.1"
edition = "2024"
rust-version = "1.88"
description = "可插拔密码学组件库的 Rust 实现:在统一契约下提供对称加密、非对称加密、哈希与密钥派生(HKDF / PBKDF2),包含 AES/Sodium 与国密 SM2/SM3/SM4/ZUC 等实现"
license = "MIT"
repository = "https://github.com/erikwang2013/encryption-rust"
authors = ["erik <erik@erik.xyz>"]
keywords = ["encryption", "cryptography", "sm2", "sm3", "sm4"]
categories = ["cryptography"]
readme = "README.md"
exclude = [
"CLAUDE.md",
"AGENTS.md",
"ruvector.db",
".swarm",
".claude-flow",
]
[lib]
name = "encryption"
[dev-dependencies]
base64 = "0.22"
tokio = { version = "1", features = ["macros", "rt"] }
tower = { version = "0.5", features = ["util"] }
warp = { version = "0.4", features = ["test"] }
[dependencies]
zeroize = "1"
rand_core = { version = "0.6", features = ["getrandom"] }
aes-gcm = "0.10"
aes = "0.8"
cbc = { version = "0.1", features = ["alloc", "block-padding"] }
hmac = "0.12"
sha2 = "0.10"
chacha20poly1305 = "0.10"
hkdf = "0.12"
pbkdf2 = "0.12"
sm2 = { version = "0.14", default-features = false, features = [
"arithmetic",
"pke",
"alloc",
"std",
"precomputed-tables",
] }
sm3 = "0.5"
sm4 = "0.5"
zuc = "0.4"
getrandom = { version = "0.4", features = ["sys_rng"] }
axum = { version = "0.8", optional = true }
actix-web = { version = "4", optional = true }
rocket = { version = "0.5", optional = true }
poem = { version = "3", optional = true }
salvo = { version = "1", optional = true }
warp = { version = "0.4", optional = true }
bee_router = { version = "1", optional = true, default-features = false }
ecat-middleware = { version = "4", optional = true, default-features = false }
tower = { version = "0.5", optional = true }
http = { version = "1", optional = true }
[features]
default = []
axum = ["dep:axum"]
actix-web = ["dep:actix-web"]
rocket = ["dep:rocket"]
poem = ["dep:poem"]
salvo = ["dep:salvo"]
warp = ["dep:warp"]
bee-rust = ["axum", "dep:bee_router"]
ecat = ["axum", "dep:ecat-middleware", "dep:tower", "dep:http"]