PHPackages                             go280286sai/laravel\_openssl - 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. go280286sai/laravel\_openssl

ActiveLibrary[Security](/categories/security)

go280286sai/laravel\_openssl
============================

Asynchronous encryption in laravel with OpenSSL

1.2(2y ago)022proprietaryPHP

Since Sep 24Pushed 2y ago1 watchersCompare

[ Source](https://github.com/go280286sai/laravel_openssl)[ Packagist](https://packagist.org/packages/go280286sai/laravel_openssl)[ RSS](/packages/go280286sai-laravel-openssl/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)DependenciesVersions (4)Used By (0)

**Ассинхронное шифрование на Laravel с openssl**
================================================

[](#ассинхронное-шифрование-на-laravel-с-openssl)

Публикация "config/openssl.php", "resources/views/vendor/openssl"
-----------------------------------------------------------------

[](#публикация-configopensslphp-resourcesviewsvendoropenssl)

```
php artisan vendor:publish --provider="go280286sai\laravel_openssl\Providers\OpensslProvider"

```

### После установке пакета необходимо выполнить миграцмю:

[](#после-установке-пакета-необходимо-выполнить-миграцмю)

```
php artisan migrate

```

### Изменить права папки:

[](#изменить-права-папки)

Перейдите на "/vendor/go280286sai/laravel\_openssl/src/OpenSSL/files/"

```
chmod a+w -R ssl

```

Генерация публичного ключа и получение данных
---------------------------------------------

[](#генерация-публичного-ключа-и-получение-данных)

### Для ручной генерации нового ключа необходимо выполнить:

[](#для-ручной-генерации-нового-ключа-необходимо-выполнить)

```
php artisan openssl:new

```

### Для получения персональных данных:

[](#для-получения-персональных-данных)

```
php artisan:show

```

\-----BEGIN PUBLIC KEY-----

"----------------------------------"

\-----END PUBLIC KEY-----

Personal key: \*\*\*\*\*\*\*\*\*\*\*\*\*

Полученные данные нужны для передачи нам информации!

Изменить ключь можно в /vendor/go280286sai/laravel\_openssl/src/Models/Ssl\_search

```
public static string $ssl_public_key = '*************';

```

### Создадим контроллер для работы с ресурсами:

[](#создадим-контроллер-для-работы-с-ресурсами)

```
php artisan make:controller OpensslController -r

```

Для отображения всех доступных ресурсов добавим метод:
------------------------------------------------------

[](#для-отображения-всех-доступных-ресурсов-добавим-метод)

```
public function index(): View
{
    $resource = Ssl_search::all();

    return view('vendor.openssl.index', ['resource' => $resource]);
}

```

Для добавления ресурса содаем контроллер и добавляем методы:
------------------------------------------------------------

[](#для-добавления-ресурса-содаем-контроллер-и-добавляем-методы)

```
public function create(): View
{
     return view('vendor.openssl.add_resource');
}

public function store(Request $request): RedirectResponse
{
    $request->validate([
        'name' => 'required|string',
        'key' => 'required|string',
        'url' => 'required|string',
    ]);
    Ssl_search::add_resource(['name' => $request->name, 'key' => $request->key, 'url' => $request->url]);

    return redirect()->back();
}

```

Имя и адресс ресурса будет добавлен в базу данных 'ssl\_searches', а public key будет создан под именем полученного id в формате 1\_id\_public.pem по адрессу "/vendor/go280286sai/laravel\_openssl/src/OpenSSL/files/ssl"

Для обновления ресурса:
-----------------------

[](#для-обновления-ресурса)

```
public function edit(int $id): View
{
    $resource = Ssl_search::find($id);
    $publicKey = Ssl_search::get_public_key($id . Ssl_search::$toSave);

    return view('vendor.openssl.update_resource', ['resource' => $resource, 'publicKey' => $publicKey]);
}

public function update(Request $request, string $id): RedirectResponse
{
    $request->validate([
        'name' => 'required|string',
        'key' => 'required|string',
        'url' => 'required|string',
    ]);
    Ssl_search::update_resource(['name' => $request->name, 'key' => $request->key, 'url' => $request->url], $id);

    return redirect()->back();
}

```

Для удаления:
-------------

[](#для-удаления)

```
public function destroy(int $id): RedirectResponse
{
    Ssl_search::remove($id);

    return redirect()->back();
}

```

Передача зашиврованной информации:
----------------------------------

[](#передача-зашиврованной-информации)

```
public function message(): View
{
    $resource = Ssl_search::all();

    return view('vendor.openssl.send_message', ['resource' => $resource]);
}

public function send_message(Request $request): RedirectResponse
{
    $id = $request->get('id');
    $text = $request->get('text');
    $url = Ssl_search::find($id)->url;
    $key = Ssl_search::get_public_key($id . Ssl_search::$toSave);
    $send = Ssl_search::encrypt($text, $key);
    $name = Ssl_search::$ssl_public_key;
    try {
        $result = Http::post($url, ['name'=>$name, 'text'=>$send]);
        if ($result->status() != 200) {
            throw new \Exception('Not connection');
        }
    }
    catch (\Throwable $th) {
        LogMessage::send('error: '. $th->getMessage());
    }

    return redirect()->back();
}

```

С формы передаем id и текст сообщения. По id получаем url для отправки.

$name = Ssl\_search::$ssl\_public\_key - имя ключа системы, с которой будет отправлятся сообщение.

$key = Ssl\_search::get\_public\_key($id . Ssl\_search::$toSave) - загрузит public key данного ресурса.

Ssl\_search::$toSave - имя для сохранения.

$send = Ssl\_search::encrypt($text, $key) - выполнит кодирование сообщение и добавит подпись.

$result = Http::post($url, \['name'=&gt;$name, 'text'=&gt;$send\]) - передача данных.

Добавленные роуты:
------------------

[](#добавленные-роуты)

```
Route::resource('/resource', OpensslController::class);
Route::get('/ssl/message', [OpensslController::class, 'message']);
Route::post('/ssl/send_message', [OpensslController::class, 'send_message']);

```

Получение сообщения:
--------------------

[](#получение-сообщения)

В /vendor/go280286sai/laravel\_openssl/src/Http/Controllers/OpenSslController:

```
public function index(Request $request): string
{
    $id = Ssl_search::where('name', $request->get('name'))->first('id');
    try {
        $result = Ssl_search::decrypt($request->get('text'), Ssl_search::get_public_key($id->id . '_id_public'));
        LogMessage::send($result);

        return 'ok';
    }
    catch (\Throwable $th) {
        LogMessage::send('error: '. $th->getMessage());

        return $th->getMessage();
    }
}

```

По переданному имени ресурса в базе находим его id и передаем его и массив $data в фунцию:

```
Ssl_search::decrypt($data, Ssl_search::get_public_key($id['id']. Ssl_search::$toSave));

```

Выполняется расшифровка сообщения и проверка подписи. Если подпись верна то возвращается результат.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

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

Total

3

Last Release

955d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/84215aad1ac57da95bdfe9dd2ebb0b9837c6e0b7b597cf667dcf58fb924b87b6?d=identicon)[go280286sai](/maintainers/go280286sai)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/go280286sai-laravel-openssl/health.svg)

```
[![Health](https://phpackages.com/badges/go280286sai-laravel-openssl/health.svg)](https://phpackages.com/packages/go280286sai-laravel-openssl)
```

###  Alternatives

[defuse/php-encryption

Secure PHP Encryption Library

3.9k162.4M214](/packages/defuse-php-encryption)[roave/security-advisories

Prevents installation of composer packages with known security vulnerabilities: no API, simply require it

2.9k97.3M6.4k](/packages/roave-security-advisories)[mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

2.0k16.7M113](/packages/mews-purifier)[robrichards/xmlseclibs

A PHP library for XML Security

41278.1M118](/packages/robrichards-xmlseclibs)[bjeavons/zxcvbn-php

Realistic password strength estimation PHP library based on Zxcvbn JS

86917.5M63](/packages/bjeavons-zxcvbn-php)[enlightn/security-checker

A PHP dependency vulnerabilities scanner based on the Security Advisories Database.

33732.2M110](/packages/enlightn-security-checker)

PHPackages © 2026

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