Skip to content

A Laravel package with an encryptable trait to manage encrypting database table fields

License

Notifications You must be signed in to change notification settings

venturedrake/laravel-encryptable

Repository files navigation

Laravel Encryptable

Latest Version on Packagist Build Status Codacy Badge Total Downloads

Automatically encrypt and decrypt database table fields.

Installation

You can install the package via composer:

composer require venturedrake/laravel-encryptable

You can publish the config file with:

php artisan vendor:publish --provider="VentureDrake\LaravelEncryptable\LaravelEncryptableServiceProvider" --tag="config"

Usage

Add the trait to your model and your encryptable rules.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use VentureDrake\LaravelEncryptable\Traits\LaravelEncryptableTrait;

class Person extends Model
{
    use LaravelEncryptableTrait;
    
    /**
	 * Laravel Encryptable Rules
	 *
	 * @var array
	 */
    protected $encryptable = [
        'first_name',
        'last_name',
    ];
    
...  
}

Now when you store, update or read from the model the first_name and last_name fields will automatically be encrypted and decrypted.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.