An open API service indexing awesome lists of open source software.

https://github.com/attla/pincryp

🧛 A layer of encryption a little too judicious
https://github.com/attla/pincryp

encription encrypt encryption laravel laravel-package

Last synced: 19 days ago
JSON representation

🧛 A layer of encryption a little too judicious

Awesome Lists containing this project

README

        

# Pincryp


License
Latest Stable Version
Total Downloads

## Installation

```bash
composer require attla/pincryp
```

Publish resources:

```bash
php artisan vendor:publish --provider="Attla\Pincryp\PincrypServiceProvider"
```

## Usage

```php

use Attla\Pincryp\Config;
use Attla\Pincryp\Factory as Pincryp;

// create config instance
$config = new Config();
$config->key = 'hic sunt dracones';
// or
$config = new Config(['key' => 'hic sunt dracones']);

// creating Pincryp instance
$pincryp = new Pincryp($config);

// encoding
$encoded = $pincryp->encode('this is something to encode..');
echo 'encoded: ' . $encoded.PHP_EOL;

$decoded = $pincryp->decode($encoded);
echo 'decoded: ' . $decoded.PHP_EOL;

```

The Pincryp can encrypt all primitive types: `array`, `stdClass`, `object`, `string`, `integer`, `float`, `bool`, and `null`.

See an example of array encryption:

```php

// encoding
$encoded = $pincryp->encode([
'name' => 'John Doe',
'email' => '[email protected]'
]);
echo 'encoded: ' . $encoded.PHP_EOL;

// to return a stdClass pass the second param as TRUE
$decoded = $pincryp->decode($encoded, false);
echo 'decoded: ' . $decoded.PHP_EOL;

```

### Config params

| Parameter | Type | Description |
|--|--|--|
| ``key`` | String | Encryption secret key |
| ``entropy`` | Integer | Entropy length to generate unique results, set zero for always the same results |
| ``seed`` | String, Integer, Null | Alphabet base seed to create a unique dictionary |

## License

This package is licensed under the [MIT license](LICENSE) © [Zunq](https://zunq.com).