Skip to main content

encryption/
lib.rs

1// Copyright (c) 2026 erik <erik@erik.xyz> — https://erik.xyz
2
3// 全库不含 unsafe:这条保证由编译器强制,而不是靠人读。新增 unsafe 会直接编译失败。
4#![forbid(unsafe_code)]
5
6//! 可插拔密码学组件库的 Rust 实现:在统一契约下提供对称加密、非对称加密、
7//! 哈希与密钥派生(HKDF / PBKDF2),包含 AES/Sodium 与国密 SM2/SM3/SM4/ZUC 等实现。
8//!
9//! 架构与原版(PHP 包 `erikwang2013/encryption`)一致:契约(trait)→ 注册表
10//! (Registry)→ 门面(Manager)→ 实现;[`EncryptionManagerFactory::from_master_key`]
11//! 从 32 字节主密钥按用途标签派生各算法子密钥。
12//!
13//! crate 采用 Rust 独立格式:密文不与 PHP 版字节级互通(见 README「与原版的差异」)。
14
15pub mod asymmetric;
16pub mod contract;
17pub mod encryptor;
18pub mod error;
19pub mod factory;
20pub mod guard;
21pub mod guomi;
22pub mod hash;
23pub mod integrations;
24pub mod kdf;
25pub mod key;
26pub mod manager;
27pub mod pqc;
28pub mod registry;
29
30/// 项目宠物「Locky」:NAME / TAGLINE / ASCII / SVG。
31pub mod pet;
32
33// 常用类型提根:`encryption::Error` / `encryption::Result`(与兄弟项目一致)。
34pub use error::{Error, Result};
35
36mod internal;