PHPackages                             jeyroik/extas-secrets-php-encryption - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. jeyroik/extas-secrets-php-encryption

ActiveLibrary[Security](/categories/security)

jeyroik/extas-secrets-php-encryption
====================================

Use defuse/php-encryption for extas secrets

1.0.0(2y ago)0629↓90%2PHP

Since Sep 15Pushed 2y ago1 watchersCompare

[ Source](https://github.com/jeyroik/extas-secrets-php-encryption)[ Packagist](https://packagist.org/packages/jeyroik/extas-secrets-php-encryption)[ RSS](/packages/jeyroik-extas-secrets-php-encryption/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (2)Dependencies (4)Versions (5)Used By (2)

[![tests](https://github.com/jeyroik/extas-secrets-php-encryption/workflows/PHP%20Composer/badge.svg?branch=master&event=push)](https://github.com/jeyroik/extas-secrets-php-encryption/workflows/PHP%20Composer/badge.svg?branch=master&event=push)[![codecov.io](https://camo.githubusercontent.com/bc76f59206df90858424f87c59cb2018590550c3291c766442c6a956f321d502/68747470733a2f2f636f6465636f762e696f2f67682f6a6579726f696b2f65787461732d736563726574732d7068702d656e6372797074696f6e2f636f7665726167652e7376673f6272616e63683d6d6173746572)](https://camo.githubusercontent.com/bc76f59206df90858424f87c59cb2018590550c3291c766442c6a956f321d502/68747470733a2f2f636f6465636f762e696f2f67682f6a6579726f696b2f65787461732d736563726574732d7068702d656e6372797074696f6e2f636f7665726167652e7376673f6272616e63683d6d6173746572)[![](https://camo.githubusercontent.com/7559c86a0b78b4ed8b8353e6588ec9e404cd3d606cdd3695c4491dbc31dc4d23/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f34326464386530633538383966663338363063662f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/jeyroik/extas-secrets-php-encryption/maintainability)[![Latest Stable Version](https://camo.githubusercontent.com/fbf0288d40c810ff75766089d25b7c697b518ac3c6fcc0fafd9aec920a772c8a/68747470733a2f2f706f7365722e707567782e6f72672f6a6579726f696b2f65787461732d736563726574732d7068702d656e6372797074696f6e2f76)](//packagist.org/packages/jeyroik/extas-secrets-php-encryption)[![Total Downloads](https://camo.githubusercontent.com/a907064c865c4bd66051ada9f8ac14aa021122f928ce60c03f71cdfa3c6dc592/68747470733a2f2f706f7365722e707567782e6f72672f6a6579726f696b2f65787461732d736563726574732d7068702d656e6372797074696f6e2f646f776e6c6f616473)](//packagist.org/packages/jeyroik/extas-secrets-php-encryption)[![Dependents](https://camo.githubusercontent.com/232230436de4faeec69bbb591d375932cca9629ea4b4c94e76a3bbfa81a55196/68747470733a2f2f706f7365722e707567782e6f72672f6a6579726f696b2f65787461732d736563726574732d7068702d656e6372797074696f6e2f646570656e64656e7473)](//packagist.org/packages/jeyroik/extas-secrets-php-encryption)

extas-secrets-php-encryption
============================

[](#extas-secrets-php-encryption)

Using defuse/php-encryption library for secrets

Using
=====

[](#using)

Encrypting
----------

[](#encrypting)

```
use extas\components\secrets\Secret;
use extas\components\secrets\resolvers\ResolverPhpEncryption;
use extas\interfaces\samples\parameters\ISampleParameter;

$secret = new Secret([
    Secret::FIELD__CLASS => ResolverPhpEncryption::class,
    Secret::FIELD__VALUE => 'test.value'
]);
$secret->withPassword('test.password')->encrypt();

// something like def502000c7a1f23cafa6548837c6f2189849cce56ef714a8bc588c601b5e4c6117a3276cc0f85769dbc7d53cb4d36de20e568553c104b6810750b94f03a844658034c613ebe40e64e633cd13b024e74878ae4156a33d51692ac416aeba3
echo $secret->getValue();

// something like def10000def502004fa55e368b67b4987b47264ab977bba7a74e6e9cb5ad8c942cc6f4dffbae6622becf1717f7d37987bc9900a6d4cde97cc1dad99bfc6355a52dc778563f42ce0e49009cf45b1abd26261641bf18601bbca1828d0c
//                62d0ec79fb5fbbe50c787c4177704e38417ce90ae7a166b7ac74e49b3befae54a25033403324e1fdd7491261bab3f3c688605aec1b77d550eebfec593c3498ba524e4304c980868bf8313e586a03b221e22714cbe82dcfcb2760551f
//                1f4a26e75c81d522ed03acc772c9be005f8dd7a1ebddd65e5100555a43d7f5f9f2111b1185ce01fd255d4a2b2353e6d85a55a5840287a1afcd1ab390144df35990ec4c62c5e4af16
echo $secret->getKey();
echo $secret->getPassword(); // empty
```

As you see, password is erasing after encrypting, so you should pass it every time you want to decrypt a value. You need a password for using a key, sou you can store a key in database without worrying.

Decrypting
----------

[](#decrypting)

```
use extas\components\secrets\Secret;
use extas\components\secrets\resolvers\ResolverPhpEncryption;
use extas\interfaces\samples\parameters\ISampleParameter;

/**
 * @var Secret $secret
 * $secret = new Secret([
 *     Secret::FIELD__CLASS => ResolverPhpEncryption::class,
 *     Secret::FIELD__VALUE => 'def502000c7a1f23cafa6548837c6f2189849cce56ef714a8bc588c601b5e4c6117a3276cc0f85769dbc7d53cb4d36de20e568553c104b6810750b94f03a844658034c613ebe40e64e633cd13b024e74878ae4156a33d51692ac416aeba3'
 * ]);
 */
$secret->withPassword('test.password')->decrypt();
echo $secret->getValue(); // test.value
echo $secret->getPassowrd(); // empty
```

As you see, password is erasing after decrypting too.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~344 days

Total

4

Last Release

1073d ago

Major Versions

0.1.0 → v1.x-dev2023-07-16

### Community

Maintainers

![](https://www.gravatar.com/avatar/2aaec5c4bade6ab2b5d1a0f7d97ab4e0ff2ce83937f76499b2888ad16cde5e04?d=identicon)[jeyroik](/maintainers/jeyroik)

---

Top Contributors

[![jeyroik](https://avatars.githubusercontent.com/u/6348124?v=4)](https://github.com/jeyroik "jeyroik (6 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jeyroik-extas-secrets-php-encryption/health.svg)

```
[![Health](https://phpackages.com/badges/jeyroik-extas-secrets-php-encryption/health.svg)](https://phpackages.com/packages/jeyroik-extas-secrets-php-encryption)
```

###  Alternatives

[paragonie/password_lock

Wraps Bcrypt-SHA2 in Authenticated Encryption

19350.6k1](/packages/paragonie-password-lock)[staabm/secure_dotenv

An encrypted environment configuration handler

101.0M](/packages/staabm-secure-dotenv)[psecio/secure_dotenv

An encrypted environment configuration handler

11538.7k2](/packages/psecio-secure-dotenv)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9317.2k55](/packages/open-dxp-opendxp)[thomaswelton/laravel-mcrypt-faker

Allows installation of Laravel where the PHP Mcrypt extension is not available. Provides encryption using OpenSSL, or by disabling encryption entierly.

104.0k](/packages/thomaswelton-laravel-mcrypt-faker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
