nauhand / laravel-data-encryption
A Laravel package for data encryption and decryption using RSA keys
1.0.1
2024-06-25 12:33 UTC
Requires
- php: ^8.1
- illuminate/support: ^9.0
README
A Laravel package for json data encryption and decryption using RSA pair keys.
Installation
You can install the package via Composer:
composer require nauhand/laravel-data-encryption
How to use
- Generate RSA keys First you'll need to generate a public and private RSA key. To do this, follow the instructions below
openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout -out public.key
You can then store your private and public keys in the storage directory of your laravel application in any subfolder or directly in the root of the folder.
- Laravel project configuration Once your keys have been generated and stored, you will now add these two variables to the environment file : SSL_PUBLIC_KEY_PATH="your/storage/path/file.key" and SSL_PRIVATE_KEY_PATH="your/storage/path/file.key". Once this has been done, add these configurations to your config/app.php file so that the package can take them into account.
'ssl_public_key_path' => env('SSL_PUBLIC_KEY_PATH'), 'ssl_private_key_path' => env('SSL_PRIVATE_KEY_PATH'),
- Encrypt and decrypt data Now you can use the package to encrypt and decrypt json data. Here's an example of how to do:
To encrypt :
This method is useful if you wish to encrypt json data. For example, if you store data in your database such as tokens or keys formatted as json strings, it would be useful to hide this information for data integrity purposes.
DataEncryption::encrypt($jsonString, config('app.ssl_public_key_path'));
To decrypt :
DataEncryption::decrypt($encryptedString, config('app.ssl_private_key_path'));
Crédits
- NAUHAND ALLOU - Développeur principal - Email
Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.