定制 jdz/crypt 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jdz/crypt

Composer 安装命令:

composer require jdz/crypt

包简介

Simple Crypt/Decrypt utility

README 文档

README

Simple crypt/decrypt utility

Installation

To install the package, you can use Composer:

composer require jdz/crypt

Requirements

  • PHP 8.1 or higher
  • Composer for dependency management

Usage

Basic Example

use JDZ\Crypt\Crypt;
use JDZ\Crypt\SimpleCipher;
use JDZ\Crypt\Key;

// Create a key
$key = new Key('my-secret-passphrase');

// Create cipher and crypt instances
$cipher = new SimpleCipher();
$crypt = new Crypt($cipher, $key);

// Encrypt
$originalText = 'Secret message';
$encrypted = $crypt->encrypt($originalText);

// Decrypt
$decrypted = $crypt->decrypt($encrypted);

echo $decrypted; // Output: Secret message

Available Ciphers

The library provides three cipher implementations:

  1. SimpleCipher - Uses the passphrase directly as the encryption key
  2. Md5Cipher - Uses MD5 hash of the passphrase (32 characters)
  3. Sha1Cipher - Uses SHA1 hash of the passphrase (40 characters)

All ciphers use XOR-based encryption and extend from SimpleCipher.

Key Generation

You can generate keys automatically using the generator classes:

use JDZ\Crypt\SimpleGenerator;
use JDZ\Crypt\Md5Generator;
use JDZ\Crypt\Sha1Generator;

// Simple generator
$generator = new SimpleGenerator();
$key = $generator->generateKey();

// MD5 generator
$md5Generator = new Md5Generator();
$md5Key = $md5Generator->generateKey();

// SHA1 generator
$sha1Generator = new Sha1Generator();
$sha1Key = $sha1Generator->generateKey();

Manual Key Creation

use JDZ\Crypt\Key;

// Single key (public and private are the same)
$key = new Key('my-passphrase');

// Separate public and private keys
$key = new Key('public-key', 'private-key');

Examples

The examples/ directory contains:

  • simple.php - Basic usage with SimpleCipher and key generation
  • md5.php - MD5-based encryption with auto-generated and manual keys
  • sha1.php - SHA1-based encryption with auto-generated and manual keys
  • comparison.php - Comparison of all cipher types
  • benchmark.php - Performance comparison and timing benchmarks

Run an example:

php examples/simple.php
php examples/md5.php
php examples/sha1.php

Compare and benchmark:

php examples/comparison.php
php examples/benchmark.php

Testing

Run Tests

Run all tests:

composer test
# or
vendor/bin/phpunit

Run tests with coverage report (HTML):

composer test-coverage
# Coverage report will be generated in the coverage/ directory

Test Structure

Tests are located in the tests/ directory and follow the PSR-4 autoloading standard under the JDZ\Crypt\Tests namespace.

  • KeyTest.php - Tests for the Key class
  • SimpleCipherTest.php - Tests for the SimpleCipher implementation
  • CryptTest.php - Tests for the main Crypt class

License

This project is licensed under the MIT License - see the LICENSE file for details.

jdz/crypt 适用场景与选型建议

jdz/crypt 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 22 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 01 月 15 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「crypt」 「utilities」 「core」 「JDZ」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 jdz/crypt 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 jdz/crypt 我们能提供哪些服务?
定制开发 / 二次开发

基于 jdz/crypt 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 22
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-01-15