PHPackages                             roave/signature - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. roave/signature

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

roave/signature
===============

Sign and verify stuff

1.9.0(1y ago)4310.0M—4.4%3[1 issues](https://github.com/Roave/Signature/issues)[3 PRs](https://github.com/Roave/Signature/pulls)2MITPHPPHP ~8.2.0 || ~8.3.0 || ~8.4.0CI passing

Since Feb 17Pushed 1y ago8 watchersCompare

[ Source](https://github.com/Roave/Signature)[ Packagist](https://packagist.org/packages/roave/signature)[ RSS](/packages/roave-signature/feed)WikiDiscussions 1.10.x Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (23)Used By (2)

✒️ Roave\\Signature
===================

[](#black_nib-roavesignature)

Sign and validate signed files made easy.

**Note: this is not a cryptographic signing library.**

Installation
------------

[](#installation)

The suggested installation method is via [composer](https://getcomposer.org/):

```
$ composer require roave/signature
```

Usage examples
--------------

[](#usage-examples)

### Signing a file

[](#signing-a-file)

```
// Creating a signer
$signer = new \Roave\Signature\FileContentSigner(
    new \Roave\Signature\Encoder\Sha1SumEncoder()
);

// It'll give you a signature to the provided code content
$signature = $signer->sign(file_get_contents('/var/tmp/file.php'));
```

### Validating a signed file

[](#validating-a-signed-file)

```
// Creating a signer checker
$signer = new \Roave\Signature\FileContentChecker(
    new \Roave\Signature\Encoder\Sha1SumEncoder()
);

// It'll validate the signature on file content
$signer->check(file_get_contents('/var/tmp/signed-file.php'));
```

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance42

Moderate activity, may be stable

Popularity55

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity90

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

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

Recently: every ~112 days

Total

20

Last Release

456d ago

PHP version history (10 changes)1.0.0PHP ^7.0|^7.1

1.1.0PHP ^7.1 || ^7.2

1.2.0PHP ^7.3 || ^7.4

1.3.x-devPHP 7.4.\*

1.4.0PHP 7.4.\*|8.0.\*

1.5.0PHP 7.4.\*|8.0.\*|8.1.\*

1.6.0PHP 7.4.\*|8.0.\*|8.1.\*|8.2.\*

1.7.0PHP 8.0.\*|8.1.\*|8.2.\*

1.8.x-devPHP ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0

1.9.x-devPHP ~8.2.0 || ~8.3.0 || ~8.4.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/fd0445bc21fa116c259b5889377b90cbd8a34d49357321f76a74f6d2c2ae6b0c?d=identicon)[Ocramius](/maintainers/Ocramius)

![](https://www.gravatar.com/avatar/2734194006e4987a8e12379a63b4f6c0a4478b5818ea7ce677499b1f714a92d2?d=identicon)[asgrim](/maintainers/asgrim)

![](https://www.gravatar.com/avatar/7140a8c7b834b07674c6bd74d6cb75792522ceba17dfb1f347489083a0ba1c48?d=identicon)[malukenho](/maintainers/malukenho)

---

Top Contributors

[![renovate[bot]](https://avatars.githubusercontent.com/in/2740?v=4)](https://github.com/renovate[bot] "renovate[bot] (107 commits)")[![Ocramius](https://avatars.githubusercontent.com/u/154256?v=4)](https://github.com/Ocramius "Ocramius (31 commits)")[![asgrim](https://avatars.githubusercontent.com/u/496145?v=4)](https://github.com/asgrim "asgrim (25 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (21 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (20 commits)")[![kukulich](https://avatars.githubusercontent.com/u/260445?v=4)](https://github.com/kukulich "kukulich (14 commits)")[![peter279k](https://avatars.githubusercontent.com/u/9021747?v=4)](https://github.com/peter279k "peter279k (3 commits)")[![michael-rubel](https://avatars.githubusercontent.com/u/37669560?v=4)](https://github.com/michael-rubel "michael-rubel (1 commits)")

---

Tags

hacktoberfest

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/roave-signature/health.svg)

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

###  Alternatives

[kyawnaingtun/tounicode

"Laravel zawgyi to unicode converter"

141.0k](/packages/kyawnaingtun-tounicode)

PHPackages © 2026

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