lithemod/crypt
PHP应用的轻量级加密工具,提供安全的数据加密和解密功能。
v1.0.0
2024-10-02 10:43 UTC
Requires
- php: ^8.0
- lithemod/env: ^1.0
- lithemod/log: ^1.0
Requires (Dev)
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2024-10-02 11:01:19 UTC
README
Lithe Crypt 是一个简单的PHP加密和解密工具,专为与Lithe框架协同工作而设计。它使用AES-256-CBC算法进行安全数据处理。
安装
要安装 Lithe Crypt 包,您可以使用Composer。如果您还没有安装Composer,请确保已经安装。然后在您的项目目录中运行以下命令
composer require lithemod/crypt
要求
- PHP 8 或更高版本
- PHP中已启用OpenSSL扩展
使用
加载环境变量
在使用 Crypt 类之前,您需要加载环境变量。使用以下代码行来加载您的 .env
文件
use Lithe\Support\Env; // Load environment variables Env::load(__DIR__); // Adjust the path as necessary
设置 APP_KEY
确保您已经设置了 APP_KEY
环境变量。此密钥应是一个32字节的长度的base64编码字符串。您可以在 .env
文件中或直接在服务器环境中设置它。
生成有效 APP_KEY 的示例
# Generate a random 32-byte key and encode it in base64 echo -n $(openssl rand -base64 32) > .env
加密数据
要加密数据,请使用 Crypt
类的 encrypt
方法
use Lithe\Support\Security\Crypt; $data = "some sensitive data"; $encrypted = Crypt::encrypt($data); echo "Encrypted Data: " . $encrypted;
解密数据
要解密数据,请使用 decrypt
方法
use Lithe\Support\Security\Crypt; $decrypted = Crypt::decrypt($encrypted); echo "Decrypted Data: " . $decrypted;
处理异常
如果 APP_KEY 未设置或无效,Crypt
类将抛出 CryptException
。请确保在您的代码中处理此异常
use Lithe\Exceptions\Encryption\CryptException; try { $encrypted = Crypt::encrypt($data); } catch (CryptException $e) { echo "Encryption Error: " . $e->getMessage(); }
单元测试
为了确保 Crypt 类的功能,提供了单元测试。您可以使用PHPUnit运行测试
./vendor/bin/phpunit
测试用例
testEncryptDecrypt
:测试加密和解密过程。testEncryptWithNullData
:测试使用null数据的加密。
贡献
如果您想为 Lithe Crypt 项目做出贡献,请遵循以下指南
- 从存储库分叉。
- 为您的功能或错误修复创建一个新的分支。
- 为您的更改编写测试。
- 提交包含您的更改描述的pull请求。
许可证
本项目受MIT许可证的许可。