Download the PHP package bjornvoesten/laravel-ciphersweet without Composer
On this page you can find all versions of the php package bjornvoesten/laravel-ciphersweet. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-ciphersweet
This repository has been deprecated in favor of: https://github.com/bjornvoesten/ciphersweet-for-laravel
Laravel CipherSweet: Searchable Encrypted Attributes
Hey! I have to say that I'm not very active maintaining this package, but you may always send pull requests!
Laravel CipherSweet is a Laravel implementation of Paragon Initiative Enterprises CipherSweet searchable field level encryption.
Make sure you have some basic understanding of CipherSweet before continuing.
Installation
Install the package using composer:
Publish configuration file:
Generate an encryption key:
Watch out! All encrypted columns depend on this key. If the key changes, the already encrypted columns can not be decrypted anymore!
Configuration
Algorithm
You can change the encryption algorithm by defining the crypto:
For more information about the encryption index algorithms see the documentation.
Usage
Defining encryption
Add the Bjornvoesten\CipherSweet\Traits\HasEncryption
trait to the model.
Define the attributes that should ben encrypted.
By default the index column name is generated using the name and suffixing it with _index
.
So the social_security_number
attribute will use the default index column social_security_number_index
.
Alternatively you can define multiple indexes per attribute and and define more options.
For more information about the index options see the documentation.
And make sure you have created the index columns in the database table!
Searching models
You can search encrypted attributes by using the default where
clause on the query builder or with the whereEncrypted
method.
By using the whereEncrypted
method you can also define the indexes which can be searched.
Note When searching with the equal to
operator models will be returned when the value is found in one of all available or defined indexes. When searching with the not equal to
operator all models where the value is not found in any of the available or the defined indexes are returned.
Caveat
Because of the limited search possibilities in CipherSweet only the =
and !=
operators are available when searching encrypted attributes.
Testing
To be done.
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-ciphersweet with dependencies
illuminate/database Version ^7.0|^8.0|^9.0|^10.0
paragonie/ciphersweet Version ^4