wanadri/x-sign-payload

Secure HMAC-SHA256/SHA512 payload signing and verification for PHP frameworks

Maintainers

Package info

github.com/wanadri/x-sign-payload

pkg:composer/wanadri/x-sign-payload

Statistics

Installs: 5

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-04-30 05:37 UTC

This package is auto-updated.

Last update: 2026-04-30 05:57:39 UTC


README

Secure HMAC-SHA256/SHA512 payload signing and verification for PHP and JavaScript

PHP Tests npm version Packagist Version

Features

  • 🔐 HMAC-SHA256/SHA512 - Industry-standard cryptographic hashing
  • ⏱️ Replay Protection - Configurable timestamp validation
  • 🛠️ Multi-Framework - Laravel, CakePHP, CodeIgniter, Node.js, Browser
  • Easy Integration - Simple middleware and auto-signing
  • 🌐 Cross-Language - Sign in JS, verify in PHP (and vice versa)

Quick Start

PHP (Laravel)

composer require wanadri/x-sign-payload
php artisan x-sign:install
// routes/api.php
Route::post('/webhook', [WebhookController::class, 'handle'])
    ->middleware('x-sign.verify');

JavaScript (Node.js)

npm install x-sign-payload
import { XSignClient } from "x-sign-payload";

const client = new XSignClient({
  secret: process.env.X_SIGN_SECRET,
});

const { headers } = client.sign({ user: "john@example.com" });
// headers = { 'X-Signature': 'sha256=...', 'X-Timestamp': '...' }

JavaScript (Browser)

import { XSignClient } from "x-sign-payload";

const client = new XSignClient({ secret: "your-secret" });

const headers = await client.signAsync({ action: "submit" });
fetch("/api/submit", {
  method: "POST",
  headers,
  body: JSON.stringify({ action: "submit" }),
});

Documentation

Full documentation is available at: https://wanadri.github.io/x-sign-payload/

Supported Languages & Frameworks

Language Framework Status
PHP Laravel 10+ ✅ Available
PHP CakePHP 4+ ✅ Available
PHP CodeIgniter 4 ✅ Available
JavaScript Node.js / Browser ✅ Available
Python Django / Flask 🚧 Coming Soon
Ruby Ruby on Rails 🚧 Coming Soon

Monorepo Structure

x-sign-payload/
├── packages/
│   ├── php/          # PHP package (wanadri/x-sign-payload)
│   └── js/           # JavaScript package (x-sign-payload)
├── docs/             # VitePress documentation
└── tests/
    └── cross-language/ # JS/PHP interoperability tests

Contributing

We welcome contributions! Please see our Contributing Guide.

Support

License

MIT License - see LICENSE file.

Made with ❤️ by Wan Adri