Skip to main content

Crate encryption

Crate encryption 

Source
Expand description

可插拔密码学组件库的 Rust 实现:在统一契约下提供对称加密、非对称加密、 哈希与密钥派生(HKDF / PBKDF2),包含 AES/Sodium 与国密 SM2/SM3/SM4/ZUC 等实现。

架构与原版(PHP 包 erikwang2013/encryption)一致:契约(trait)→ 注册表 (Registry)→ 门面(Manager)→ 实现;[EncryptionManagerFactory::from_master_key] 从 32 字节主密钥按用途标签派生各算法子密钥。

crate 采用 Rust 独立格式:密文不与 PHP 版字节级互通(见 README「与原版的差异」)。

Re-exports§

pub use error::Error;
pub use error::Result;

Modules§

contract
能力契约(trait):业务层唯一需要依赖的东西。
encryptor
对称加密实现(对应 PHP 版 Encryptor/)。
error
统一错误类型:对应 PHP 版的 EncryptionException 与 UnsupportedNationalAlgorithmException。
factory
主密钥工厂:从 32 字节主密钥派生各算法独立子密钥,避免同一密钥跨算法复用 (对应 PHP 版 EncryptionManagerFactory)。
guard
请求守卫:交给处理器的一个共享加密句柄。
guomi
国密实现(对应 PHP 版 Guomi/):SM3 哈希、SM4-CBC、ZUC-128 流密码、 SM2 非对称加解密,以及不提供实现的 SM1 / SM7 / SM9 占位。
hash
哈希实现(对应 PHP 版 Hash/;SM3 位于 guomi/)。
integrations
框架集成:把 Guard 按各框架的惯例交给处理器。
kdf
密钥派生实现(对应 PHP 版 Kdf/)。
key
定长密钥材质:Drop 时清零,Debug 不打印内容。
manager
门面(Manager):注册表 + 默认标识的组合,业务层的常用入口。
pet
项目宠物「Locky」:NAME / TAGLINE / ASCII / SVG。 项目宠物「Locky」(小锁)。
registry
标识 → 实现的存储,各注册表共用(对应 PHP 版 AbstractRegistry)。