carry0987/sharp

A PHP library for generating signed and encrypted URLs for image processing with Sharp-API, using AES-256-GCM and HMAC-SHA256

1.2.2 2024-03-21 01:02 UTC

This package is auto-updated.

Last update: 2024-06-21 01:41:11 UTC


README

PHP-Sharp

Packgist
A PHP script for generating signed and encrypted URLs for image processing with Sharp-API, using AES-256-GCM and HMAC-SHA256.

Installation

Use Composer to install PHP-Sharp Image Encryptor in your project:

composer require carry0987/sharp

Configuration

To use PHP-Sharp, you need to have a signature key, a signature salt, and a source key for encryption and hashing. These should be provided as hexadecimal strings.

Usage

Below is an example demonstrating how to encrypt an image URL using PHP-Sharp Image Encryptor:

require_once 'vendor/autoload.php';

use carry0987\Sharp\Sharp;

// Initialize the keys and salt. Replace these values with your actual keys and salt.
$signatureKey = 'your_hex_signature_key';
$signatureSalt = 'your_hex_signature_salt';
$sourceKey = 'your_hex_source_key';

// Create a new instance of PHP-Sharp Image Encryptor.
$imageEncryptor = new Sharp($signatureKey, $signatureSalt, $sourceKey);

// The URL of the image you want to encrypt.
$originalImageUrl = 'https://example.com/image.jpg';

try {
    // Generate the encrypted and signed URL.
    $signedUrl = $imageEncryptor->generateEncryptedUrl($originalImageUrl);
    echo 'Encrypted and signed URL: ' . $signedUrl;
} catch (\carry0987\Sharp\Exceptions\SharpException $e) {
    // Handle any exceptions during the encryption process.
    echo "Error occurred: " . $e->getMessage();
}

Contributing

Contributions to PHP-Sharp Image Encryptor are welcome! Feel free to submit pull requests to improve the codebase.

License

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