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§
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)。