Download the PHP package roelofr/laravel-encryption-cast without Composer
On this page you can find all versions of the php package roelofr/laravel-encryption-cast. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download roelofr/laravel-encryption-cast
More information about roelofr/laravel-encryption-cast
Files in roelofr/laravel-encryption-cast
Package laravel-encryption-cast
Short Description An Eloquent cast to encrypt and decrypt data, whilst still allowing your own casts
License MIT
Informations about the package laravel-encryption-cast
Encryption Cast for Laravel
A super-simple, fully tested database encryption system, which allows for extra conversions to take place afterwards.
End of Life
This package has reached it's end of life. Laravel now supports encryption out-of-the-box, so adding a separate package that does the same is useless.
License
The software is licensed under the MIT License.
Requirements
This project requires Laravel 7.x and PHP 7.4 or newer. You should also update your database schemas to allow for encrypted data. Encrypted data is base64-encoded, and might be significantly longer than the same data as, for example, JSON.
It's recommended to use long VARCHAR
fields or even TEXT
fields.
Installation
Just require it via composer, it doesn't register a service provider.
Usage
This class contains a two-way cast that takes extra casts as first and only
argument. null
-values are not encrypted.
Encrypted strings
To encrypt the phone_number
field, simply cast it.
Encrypted basic types
Say we have a date_of_birth
field, we can cast that as a date.
Encrypted collections
Now, say we have an address
which is a collection, we can also cast it like
that.
Encrypted complex models
Now, lastly, say you made a custom cast that casts the
medication
field to some other type, and named it App\Casts\MedicationCast
,
you can send that as a second argument.
And that's about it.
Compatibility
To ease development you can use one of the casts in the Compat
namespace.
These are included:
- For
austinheap/laravel-database-encryption
you can useAustinHeapEncryptedAttribute
.
Contributing
If you found any bugs or issues and can help, please open an issue. The code is linted for code style and coverage is exected to be >95% at all times.
All versions of laravel-encryption-cast with dependencies
illuminate/contracts Version ^7.0 || ^8.0
illuminate/database Version ^7.0 || ^8.0
illuminate/support Version ^7.0 || ^8.0