定制 heliip/laravel-encrypted-responses 二次开发

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

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

heliip/laravel-encrypted-responses

最新稳定版本:v1.0.0

Composer 安装命令:

composer require heliip/laravel-encrypted-responses

包简介

Laravel middleware to encrypt API responses using Laravel Crypt with optional compressed payloads.

README 文档

README

Laravel package for encrypting API responses with Laravel's Crypt service.

Requirements

  • PHP 8.3 or higher
  • Laravel 13
  • PHP extensions: json, zlib

Installation

composer require heliip/laravel-encrypted-responses
php artisan vendor:publish --tag=encrypted-responses-config

Usage

Enable automatic registration for the api middleware group:

ENCRYPT_RESPONSES_AUTO_REGISTER=true

Or register the middleware manually in bootstrap/app.php:

use Heliip\LaravelEncryptedResponses\Http\Middleware\EncryptResponse;
use Illuminate\Foundation\Configuration\Middleware;

->withMiddleware(function (Middleware $middleware) {
    $middleware->api(append: [
        EncryptResponse::class,
    ]);
})

For specific routes, use the middleware alias:

Route::middleware('encrypt.responses')->get('/profile', ProfileController::class);

Configuration

The configuration file is published to config/encrypted-responses.php.

Common environment variables:

ENCRYPT_RESPONSES_ENABLED=true
ENCRYPT_RESPONSES_AUTO_REGISTER=false
ENCRYPT_RESPONSES_JSON_ENCODED_COMPRESSED_PAYLOAD=true
ENCRYPT_RESPONSES_COMPRESS=true
ENCRYPT_RESPONSES_COMPRESSION_LEVEL=9
ENCRYPT_RESPONSES_OUTPUT=raw
ENCRYPT_RESPONSES_CONTENT_TYPE=text/plain

ENCRYPT_RESPONSES_OUTPUT=raw returns the encrypted string as the response body.

ENCRYPT_RESPONSES_OUTPUT=json returns:

{"payload":"encrypted-value"}

Payload Format

With ENCRYPT_RESPONSES_JSON_ENCODED_COMPRESSED_PAYLOAD=true, payloads are encoded as:

Crypt::encryptString(json_encode(base64_encode(gzcompress(json_encode($data), 9))))

Exclusions

The middleware skips:

  • Binary file responses
  • Streamed responses
  • Empty responses such as 204 and 304
  • Excluded paths and route names
  • Excluded content types such as images, video, PDF, and ZIP

To skip encryption for a single request:

X-Skip-Response-Encryption: 1

Manual Encryption

use Heliip\LaravelEncryptedResponses\Facades\EncryptedResponse;

$encrypted = EncryptedResponse::encrypt(['ok' => true]);

Testing

composer test

License

The MIT License (MIT). See LICENSE.md.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固