folded / crypt
Easily encrypt and decrypt strings for your web app.
Requires
- php: >=7.4.0
- illuminate/encryption: 7.*
- symfony/console: 5.*
Requires (Dev)
- friendsofphp/php-cs-fixer: 2.*
- pestphp/pest: 0.3.*
- phpunit/phpunit: 9.*
This package is auto-updated.
Last update: 2024-10-17 17:40:39 UTC
README
Easily encrypt and decrypt strings for your web app.
Summary
About
I created this library to be able to encrypt my data in a standalone way.
Folded is a constellation of packages to help you setting up a web app easily, using ready to plug in packages.
- folded/action: A way to organize your controllers for your web app.
- folded/config: Configuration utilities for your PHP web app.
- folded/exception: Various kind of exception to throw for your web app.
- folded/history: Manipulate the browser history for your web app.
- folded/http: HTTP utilities for your web app.
- folded/orm: An ORM for you web app.
- folded/request: Request utilities, including a request validator, for your PHP web app.
- folded/routing: Routing functions for your PHP web app.
- folded/session: Session functions for your web app.
- folded/view: View utilities for your PHP web app.
Features
- Can encrypt and decrypt strings
- Can generate a key (necessary to setup the library) from the command line
Requirements
- PHP >= 7.4.0
- Composer installed
Installation
1. Install the package
In your root folder, run this command:
composer require folded/crypt
2. Generate a key
One way to generate the key easily is through the command line. Run this command to get a new key:
vendor/bin/crypt generate key
You can get more information on the available option by running vendor/bin/crypt generate --help
.
Another way is to call the function Folded\getEncryptionKey()
from a script:
use function Folded\getEncryptionKey; require __DIR__ . "/vendor/autoload.php"; echo getEncryptionKey();
You can add a parameter to control the type of cipher you want (currently supported: AES-128-CBC and AES-256-CBC).
3. Add the setup code
Before calling the library, add this setup code as early as possible:
use function Folded\setEncryptionKey; setEncryptionKey("xIYrZSsCV6hx9x/Q4bka1PejU+aSaMerJQFSYr3QnTE=");
Examples
1. Encrypt a string
In this example, we will get the encrypted version of a string.
use function Folded\getEncryptedString; $encryptedText = getEncryptedString("hello world");
2. Decrypt a string
In this example, we will decrypt a previously encrypted text.
use function Folded\getDecryptedString; $encryptedString = "..."; $decryptedString = getDecryptedString($encryptedString);
Note it will only decrypt encrypted string from the getEncryptedString()
function.
Also note that if you encrypt a string with a key A, and you change the key A for a new key, the getDecryptedString
will not be able to successfuly decrypt the text and get the original text so be careful to save your key in somewhere safe (generally in a .env file).