semeton / crypto-service
This package provides a simple and secure way to encrypt and decrypt messages in Laravel applications. It uses Sodium cryptographic library for encryption and decryption, ensuring high-level security. The package is easy to integrate into any Laravel application and requires minimal configuration. I
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
pkg:composer/semeton/crypto-service
Requires
- php: >=8.0
- ext-sodium: *
Requires (Dev)
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2025-12-08 23:18:39 UTC
README
CryptoService is a package that provides a simple yet secure way to encrypt and decrypt messages using a secret code. It leverages the power of the Sodium cryptographic library to ensure the highest level of security. This document provides a comprehensive guide on how to install and use CryptoService, along with a detailed explanation of its methods.
Installation
Installing CryptoService is a breeze with the package manager composer. Follow the link to download and install composer if you have not already.
composer require semeton/crypto-service
CryptoService Class Documentation
Overview
The CryptoService class provides encryption and decryption services using the Sodium cryptographic library. It uses a secret key of a 64 bits of random string.
Methods
encrypt(string $message, string $secretCode): string
This method encrypts a given message.
- Parameters:
-
$message(string): The message to be encrypted. -$secretCode(string): A secret code used in the encryption process. - Returns: The encrypted message as a base64-encoded string.
- Description: This method generates a random nonce and uses it along with the
$messageand a hashed combination of$keyand$secretCodeto create an encrypted cipher. The cipher is then base64-encoded for safe transmission or storage. The memory of the$messageand$keyis cleared after encryption for security reasons.
decrypt(string $encrypted, string $secretCode): string
This method decrypts a given encrypted message.
- Parameters:
-
$encrypted(string): The message to be decrypted. -$secretCode(string): A secret code used in the decryption process. - Returns: The decrypted message as a string. If decryption fails, it returns an error message.
- Description: This method decodes the
$encryptedmessage, extracts the nonce and ciphertext, and attempts to decrypt the ciphertext using the nonce and a hashed combination of$keyand$secretCode. If decryption is successful and the result is a string, it returns the decrypted message. If decryption fails or the result is not a string, it returns an error message. The memory of the ciphertext and$keyis cleared after decryption for security reasons.