PHPackages                             virge/enigma - 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. virge/enigma

ActiveLibrary

virge/enigma
============

v2.0.0(8y ago)02003PHP

Since Apr 5Pushed 8y ago1 watchersCompare

[ Source](https://github.com/siosphere/virge-enigma)[ Packagist](https://packagist.org/packages/virge/enigma)[ RSS](/packages/virge-enigma/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (1)Versions (5)Used By (3)

Virge::Enigma
=============

[](#virgeenigma)

Used to encrypt/decrypt data, and produce hashes.

Encrypt
=======

[](#encrypt)

Encryption used mcrypt to encrypt/decrypt data. Default set to RIJNDAEL\_128 but can be changed as needed.

```
$myString = "secrets";
$key = "password";
$encrypted = Enigma::encrypt($myString, $key);
Enigma::decrypt($encrypted, $key); //secrets

```

Hash
====

[](#hash)

Hashing uses the hash\_hmac function and supports all alogrithms returned by hash\_algos();

```
$passwordHash = Enigma::hash('mypassword', 'salt');

```

Can also be used without input, in which case it will generate a hash of the current microtime

```
$randomhash = Enigma::hash();

```

Encrypt File
============

[](#encrypt-file)

Encryption of a file takes in an input file and an output file. The input file is read in blocks of 1MB, encrypted, and written out to the output file.

Likewise, decryption will take an input file (the encrypted file) and an output file, will read the encrypted file line by line.

```
$inputFile = "./test.txt";

$outputFile = "./encrypted.txt";

$decryptedFile = "./decrypted.txt";

Enigma::encryptFile($inputFile, $outputFile, "secret");

Enigma::decryptFile($outputFile, $decryptedFile, "secret");

if(Enigma::md5File($inputFile) !== Enigma::md5File($decryptedFile)) {
    die("File hashes do not match");
}

```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity66

Established project with proven stability

 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 ~231 days

Total

4

Last Release

2998d ago

Major Versions

v1.0.1 → 2.x-dev2018-02-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/0ea92aa37370c3f24c124136ad9ec85883ee1d3fb38302dcf41d7d47d26bee69?d=identicon)[siosphere](/maintainers/siosphere)

---

Top Contributors

[![siosphere](https://avatars.githubusercontent.com/u/2582612?v=4)](https://github.com/siosphere "siosphere (3 commits)")

### Embed Badge

![Health badge](/badges/virge-enigma/health.svg)

```
[![Health](https://phpackages.com/badges/virge-enigma/health.svg)](https://phpackages.com/packages/virge-enigma)
```

PHPackages © 2026

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