kishor-rajbanshi/php-crypt
Composer 安装命令:
composer require kishor-rajbanshi/php-crypt
包简介
The PHP Encryptor and Decryptor
README 文档
README
A lightweight encryption and decryption library built on top of OpenSSL, supporting:
- AES-128-CBC
- AES-256-CBC
- MAC validation (HMAC SHA-256)
- Secure payload structure (IV + value + MAC)
- String and serialized value encryption
Installation
composer require kishor-rajbanshi/php-crypt
Supported Ciphers
AES-128-CBC(requires 16-byte key)AES-256-CBC(requires 32-byte key)
Generating a Key
use KishorRajbanshi\Crypt\Crypter; $key = Crypter::generateKey('AES-256-CBC');
Basic Usage
Create Crypter Instance
use KishorRajbanshi\Crypt\Crypter; $key = random_bytes(32); // 32 bytes for AES-256-CBC $crypter = new Crypter($key, 'AES-256-CBC');
Encrypt & Decrypt Any Value (Serialized)
$data = ['name' => 'Kishor', 'role' => 'Developer']; $encrypted = $crypter->encrypt($data); $decrypted = $crypter->decrypt($encrypted); print_r($decrypted);
Encrypt & Decrypt Strings Only (No Serialization)
$encrypted = $crypter->encryptString('Hello World'); $decrypted = $crypter->decryptString($encrypted);
Payload Structure
Encrypted payload is:
base64_encode(json_encode([
'iv' => base64_encoded_iv,
'value' => encrypted_value,
'mac' => hmac_sha256
]))
The MAC ensures data integrity and prevents tampering.
Exception Handling
The package throws custom exceptions:
KishorRajbanshi\Crypt\Exceptions\EncryptKishorRajbanshi\Crypt\Exceptions\Decrypt
Example
use KishorRajbanshi\Crypt\Exceptions\Decrypt; use KishorRajbanshi\Crypt\Exceptions\Encrypt; try { $encrypted = $crypter->encrypt('Secret'); } catch (Encrypt $e) { echo "Encryption failed: " . $e->getMessage(); } try { $decrypted = $crypter->decrypt($encrypted); } catch (Decrypt $e) { echo "Decryption failed: " . $e->getMessage(); }
Key Length Validation
The constructor validates key length automatically:
- AES-128-CBC → 16 bytes
- AES-256-CBC → 32 bytes
If invalid, it throws:
RuntimeException
Security Notes
- Always store your encryption key securely.
- Never expose your key publicly.
- Rotate keys periodically if used in production.
- Do not modify encrypted payloads manually.
Running Tests
composer install
composer test
License
MIT
kishor-rajbanshi/php-crypt 适用场景与选型建议
kishor-rajbanshi/php-crypt 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「security」 「encryption」 「crypt」 「aes」 「openssl」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 kishor-rajbanshi/php-crypt 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 kishor-rajbanshi/php-crypt 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 kishor-rajbanshi/php-crypt 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Composer friendly version of http://web.archive.org/web/20130727034425/http://blog.kevburnsjr.com/php-unique-hash
A simple PHP class to encrypt a string and decrypt an encrypted string
A package for automatically encrypting and decrypting Eloquent attributes in Laravel 5.5+, based on configuration settings.
Provide a way to secure accesses to all routes of an symfony application.
Strong cryptography tools and password hashing
This symfony user provider reads user from the htpasswd file.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 39
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-14