PHPackages                             moleft/data-encrypt - 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. moleft/data-encrypt

ActiveLibrary[Security](/categories/security)

moleft/data-encrypt
===================

一个简简单单的信息加密库

v1.0.0(4y ago)016MITPHP

Since Jun 19Pushed 4y ago1 watchersCompare

[ Source](https://github.com/MoLeft/data-encrypt)[ Packagist](https://packagist.org/packages/moleft/data-encrypt)[ Docs](https://github.com/MoLeft/data-encrypt)[ RSS](/packages/moleft-data-encrypt/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Data-Encrypt
============

[](#data-encrypt)

一个简简单单的信息加密库，利用私钥将数据加密，将公钥上传至服务端，实现相对安全的数据传输

作者：MoLeft

博客：[www.moleft.cn](https://www.moleft.cn)

使用方法
====

[](#使用方法)

安装
--

[](#安装)

```
composer require moleft/data-encrypt
```

声明一个配置数组
--------

[](#声明一个配置数组)

```
$config_option = [
    'format_type' => 'file',
    'private_key' => dirname(__FILE__).'/test_key/private_key',
    'public_key'  => dirname(__FILE__).'/test_key/public_key',
];
```

`format_type` : 可选 `string` 和 `file`

string: 私钥`private_key`和公钥`public_key`需传入字符串形式

file:需要传入文件地址，建议`绝对路径`

创建一个Config实例
------------

[](#创建一个config实例)

```
use MoLeft\DataCrypt\Config;

$config =  new Config($config_option);
```

也可以捕获异常

```
use MoLeft\DataCrypt\Config;
use MoLeft\DataCrypt\DataEncryptException;

try{
    $config =  new Config($config_option);
}catch(DataEncryptException $e){
    die($e->getMessage());
}
```

随便写点数据测试
--------

[](#随便写点数据测试)

```
// 假设这是返回数据
$data = json_encode(['ret' => '1','msg' => '登陆成功']);
// 假设这是参数
$parm = [
    'act' => 'login',
    'user' => 'root',
    'pass' => 'root'
];
```

加密
--

[](#加密)

```
use MoLeft\DataCrypt\Encrypt;

// 实例化一个加密对象
$encrypt = new Encrypt($config);
// 加密，签名，返回加密好的数据
$encrypt_data = $encrypt->encrypt($data)->sign($parm)->json();
```

解密
--

[](#解密)

```
use MoLeft\DataCrypt\Decrypt;

// 实例化一个解密对象
$decrypt = new Decrypt($config);
// 设置解密数据 验签 返回解密数据
$decrypt_data = $decrypt->data($encrypt_data)->verify($parm)->decrypt();
```

方法说明
----

[](#方法说明)

1. `sign()`和`verify()`是签名和验签的方法不是必须的，如果你喜欢也可以签名了不验签，有签名我不验，就是玩~
2. `Encrypt` 对象最后必须调用`json()`方法来获取加密好的数据，因为我只写了这一种。
3. `Decrypt` 对象一定一定要使用`data()`方法设置需要解密的数据，别问为什么，我开心。

最后再给大家看看测试的数据吧
--------------

[](#最后再给大家看看测试的数据吧)

```
原始数据：
{"ret":"1","msg":"\u767b\u9646\u6210\u529f"}

加密数据：
{"data":"Suj8S9srh50P74FIO4s9dHDWvYSB+TxNhrg68OP4mqTeQ9UezO2CZPQ\/Mqzk9r0TUJ\/VReDqxtwrP4O8K6GlmpgyW\/RTXMPy5rGsv1K\/RD45LMPVr1VJyiyKDqjNLZ+D8SLFwNi5dn1uukGqeTO6IzcD\/vf4WuYQ7xq\/yV0hF1e+gh4GkYSQczFWPJNtwWHRDi8Q0rOu48tPbb\/5poduKyObh7CZDiQ3OWuXyS7b2KMMGAL9BM3p0Juzq19QmfSYFl3uBzNu+\/N7LuHhy3egMYNCHpYPkr7xcT9Ra7muaMuTMcJPKSv\/APark3cJnl5ZA+HzJXrDEFJjNIgRAeaBXQ==","sign":"JClGoEWdwIAfUSnIPv1eaqzH7ETC6eeq0c3smEeLq4FkOtEQB\/Q3qLww76ZqWy1Dc4ubyB7eTjGiKouJdusRq0z4glBz0Vze1ZRlQMYVydmUiL4KlCE25fHwyfDTE2KTQs4ZG1bSfe1ENz\/twaLlvBJwhATsoiq7oV1YUAWeAinpREkkdSQL+N1KzkDuIp9JP73b0r3n5g2Rx1QINS1\/T6VIsA2wkqNCHm+43y2A928CCkQdve7VFk\/rL71+XdKWzYRoU+Xde1NPEDOuWP7SzV\/3+DdBwmUjahS\/pIBq0twueQYstPSSd7GU2Lmh\/92+y1SKamW2lIx1kmHcwgcZmA=="}

解密数据：
{"ret":"1","msg":"\u767b\u9646\u6210\u529f"}
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

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

Unknown

Total

1

Last Release

1794d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/51819556c32db215ff449fd131e76766ba9680ec0e784849d05c64a80af47736?d=identicon)[MoLeft](/maintainers/MoLeft)

---

Top Contributors

[![MoLeft](https://avatars.githubusercontent.com/u/41848811?v=4)](https://github.com/MoLeft "MoLeft (21 commits)")

---

Tags

rsaencryptdecrypt

### Embed Badge

![Health badge](/badges/moleft-data-encrypt/health.svg)

```
[![Health](https://phpackages.com/badges/moleft-data-encrypt/health.svg)](https://phpackages.com/packages/moleft-data-encrypt)
```

###  Alternatives

[nzo/url-encryptor-bundle

The NzoUrlEncryptorBundle is a Symfony Bundle used to Encrypt and Decrypt data and variables in the Web application or passed through URL

961.0M2](/packages/nzo-url-encryptor-bundle)[miladrahimi/phpcrypt

Encryption, decryption, and hashing tools for PHP projects

3171.5k2](/packages/miladrahimi-phpcrypt)[xxtea/xxtea

XXTEA is a fast and secure encryption algorithm. This is a XXTEA library for PHP.

11341.7k](/packages/xxtea-xxtea)[hemiframe/php-aes

PHP class for encrypt and decrypt data with AES algorithm

1030.3k](/packages/hemiframe-php-aes)

PHPackages © 2026

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