PHPackages                             eto-pesets/whatsapp-encrypted-streams - 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. eto-pesets/whatsapp-encrypted-streams

ActiveLibrary

eto-pesets/whatsapp-encrypted-streams
=====================================

Library contains PSR-7 stream decorators for processing Whatsapp media

1.0.0(1mo ago)01↑2900%Apache-2.0PHPPHP ^8.0

Since Mar 28Pushed 1mo agoCompare

[ Source](https://github.com/eto-pesets/whatsapp-encrypted-streams)[ Packagist](https://packagist.org/packages/eto-pesets/whatsapp-encrypted-streams)[ Docs](https://github.com/eto-pesets/whatsapp-encrypted-streams)[ RSS](/packages/eto-pesets-whatsapp-encrypted-streams/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (3)Used By (0)

whatsapp-encrypted-streams
==========================

[](#whatsapp-encrypted-streams)

Библиотека содержит декораторы PSR-7 потоков для обработки файлов, зашифрованных по алгоритму Whatsapp.

Возможности:

- Шифрование файлов;
    - Подпись файлов;
    - Генерация sidecar для потокового скачивания;
- Расшифровка файлов;
    - Скачивание целиком + сверка подписи файла;
    - Потоковое скачивание (streaming) + сверка sidecar;

Установка:
----------

[](#установка)

```
composer require eto-pesets/whatsapp-encrypted-streams
```

Примеры использования:
----------------------

[](#примеры-использования)

*Используются заведомо корректные данные из папки /samples:*

```
$data = [
    'key' => file_get_contents(__DIR__ . '/samples/VIDEO.key'),
    'info' => Whatsapp::TYPE_INFO['VIDEO'],
    'original' => __DIR__ . '/samples/VIDEO.original',
    'encrypted' => __DIR__ . '/samples/VIDEO.encrypted',
    'sidecar' => __DIR__ . '/samples/VIDEO.sidecar',
];
```

*Оба потока могут скачивать файл целиком:*

```
$result = $stream->readWhole($buffer_size = 8192);
```

### 1. Чтение зашифрованного файла целиком (проверяется только финальная MAC-подпись)

[](#1-чтение-зашифрованного-файла-целиком-проверяется-только-финальная-mac-подпись)

```
