garsaud/cryptstreamaes

使用AES 128, 192, 256对PHP资源(流)进行实时加密和解密

v1.0.0 2023-02-20 21:47 UTC

This package is auto-updated.

Last update: 2024-09-21 09:55:40 UTC


README

GitHub CI

此包使用mcrypt通过AES 128, 192或256加密和解密资源(流)。

它按块操作资源(本地或通过fopen(…)获得的远程资源),使其能够在不超出内存限制的情况下处理非常大的内容。

安装

composer require garsaud/cryptstreamaes

使用方法

use Garsaud\CryptStreamAES\AES;
use Garsaud\CryptStreamAES\Length;

$aes = new AES(Length::AES256);

$aes->encrypt(
    key: 'B374A26A71490437AA024E4FADD5B497FDFF1A8EA6FF12F6FB65AF2720B59CCF',
    inputStream: fopen('myfile.jpg', 'rb'),
    outputStream: fopen('myfile-encrypted.bin', 'wb'),
);
use Garsaud\CryptStreamAES\AES;
use Garsaud\CryptStreamAES\Length;

$aes = new AES(Length::AES256);

$aes->decrypt(
    key: 'B374A26A71490437AA024E4FADD5B497FDFF1A8EA6FF12F6FB65AF2720B59CCF',
    inputStream: fopen('myfile-encrypted.bin', 'rb'),
    outputStream: fopen('myfile.jpg', 'wb'),
);