对称加密
AES-256-GCM、XChaCha20、CBC-HMAC、SM4-CBC、ZUC-128。
应用代码只依赖契约接口,切换 AES-256-GCM、XChaCha20 或国密算法无需改业务逻辑。
EncryptionManagerFactory 从一个 32 字节主密钥派生每个算法的子密钥,并一次性注册全部加密器。
友好的挂锁吉祥物,钥匙孔是微笑,一只手挥动,另一只手握着金色钥匙,代表可插拔密码库:对称、非对称、哈希、密钥派生与国密算法。
每种算法一把钥匙,每次调用换新 IV。契约、注册表、门面、实现,四层结构覆盖每类算法。
AES-256-GCM、XChaCha20、CBC-HMAC、SM4-CBC、ZUC-128。
SM2 按调用传入公钥与私钥,十六进制密钥与密文,依赖 ext-gmp。
SHA-256 与 SM3,统一输出 32 字节摘要,可用于签名与完整性校验。
HKDF-SHA256 扩展高熵密钥,PBKDF2-SHA256 默认 310000 次迭代。
SM2、SM3、SM4 与 ZUC 走同一套契约;SM1、SM7、SM9 明确报不支持。
新增算法只需实现接口并 register(),注册表与门面保持不变。
与 PHP 版同名的算法标识,在 Rust 里直接可用。
Rust 版可插拔密码学库
八族能力共用一套契约:对称、非对称、哈希、密钥派生、口令派生、签名、密钥协商与密钥封装,含 SM2/SM3/SM4/ZUC 及 ML-KEM。
从对称加密起步,逐步覆盖国密与原生 PHP。
新增可选 v2 子密钥派生,修正 HMAC 参数顺序;ZUC 批量密钥流提速,CI 加 PHPStan 与 i18n 校验。
修复 SM2 在 PHP 8.0 的反射异常;SM3/SM4 优先用 OpenSSL 原生实现,补齐 CI 与安全策略。
新增 examples/plain-php 可运行示例,无框架也能完整走通加密、存储、解密与篡改检测。
新增 Mascot API、四张设计图,以及 12 种语言的 docs/i18n 文档与本地化 SVG。
点击图片放大查看。
先安装,再跑一个最小示例。
composer require erikwang2013/encryption:^1.0use Erikwang2013\Encryption\Encryptor\Aes256GcmEncryptor;
$key = random_bytes(32);
$encryptor = new Aes256GcmEncryptor($key);
$ciphertext = $encryptor->encrypt('plaintext');
$plaintext = $encryptor->decrypt($ciphertext);cargo add encryption-rustuse encryption::factory::EncryptionManagerFactory;
let master_key: [u8; 32] = load_master_key();
let manager = EncryptionManagerFactory::from_master_key(&master_key, "aes-256-gcm")?;
let stored = manager.encrypt(phone.as_bytes())?;
let phone = manager.decrypt(&stored)?;鼠标停一停,它会换一种心情。