taylornetwork / encrypter by samueljtaylor

A custom encrypter class that uses Laravel's Encrypter class with a custom key instead of the application key.
160
0
2
Package Data
Maintainer Username: samueljtaylor
Maintainer Contact: sam@taylornetwork.ca (Sam Taylor)
Package Create Date: 2016-11-17
Package Last Update: 2018-11-11
Language: PHP
License: Unknown
Last Refreshed: 2025-02-09 15:13:18
Package Statistics
Total Downloads: 160
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Custom Encrypter for Laravel

This package uses Laravel's encryption but allows you to specify a custom passphrase instead of using the application key. This can be useful if some of the database data should be encrypted so that only someone with the passphrase can decrypt it.

Install

Via Composer

$ composer require taylornetwork/encrypter

Setup

TaylorNetwork\Encrypter\Encrypter is ready to run right out of the box.

Usage

Instantiate TaylorNetwork\Encrypter\Encrypter

The class requires 1 parameter, the passphrase you want to encrypt/decrypt with.

$passphrase = 'secret 123';

$encrypter = new TaylorNetwork\Encrypter\Encrypter($passphrase);

Note: Laravel's Encrypter class requires a passphrase of exactly 16 characters, TaylorNetwork\Encrypter\Encrypter will lengthen or shorten the supplied passphrase and then encode it using base64 before passing it to Laravel's Encrypter class so that you can supply any length of passphrase you want.

Available Methods

encrypt (mixed $data)

Encrypts the data given or returns false if the encryption failed.

$data = 'This is some data to encrypt';

$encrypter->encrypt($data);

Returns

'eyJpdiI6Ikc5aVdmUzhWcTRIM2xaMFZtQmVhamc9PSIsInZhbHVlIjoidFJmZHY3c1pcL25MZUtpOGlaM1NYa0JEY0FtbGtKTVVVZnRwaXJJbkNkU2srR3BPNlwvTlwvQ24xM0VUZ1lsc2xSMCIsIm1hYyI6ImZjYTU1YzU5NjFhYWM3NTNkOTFiNDk5YTNhMzIwMzhiMzQ0NjZhMDQyNWFjMTExZWVjY2QxOGM5NGExNmRjMGIifQ=='

decrypt (string $encryptedData)

Decrypts the data given or returns false if the decryption failed.

$data = 'eyJpdiI6Ikc5aVdmUzhWcTRIM2xaMFZtQmVhamc9PSIsInZhbHVlIjoidFJmZHY3c1pcL25MZUtpOGlaM1NYa0JEY0FtbGtKTVVVZnRwaXJJbkNkU2srR3BPNlwvTlwvQ24xM0VUZ1lsc2xSMCIsIm1hYyI6ImZjYTU1YzU5NjFhYWM3NTNkOTFiNDk5YTNhMzIwMzhiMzQ0NjZhMDQyNWFjMTExZWVjY2QxOGM5NGExNmRjMGIifQ==';

$encrypter->decrypt($data);

Returns

'This is some data to encrypt'

Credits

License

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