alextartan / flysystem-libsodium-adapter
即时加密和解密 flysystem 文件
2.0.1
2020-01-20 22:21 UTC
Requires
- php: >=7.4
- ext-sodium: *
- alextartan/helpers: 2.0.*
- league/flysystem: ^1.0.63
- league/flysystem-adapter-decorator: ^1.0.0
- league/flysystem-aws-s3-v3: ^1.0.23
- monolog/monolog: ^2.0.2
Requires (Dev)
- ext-openssl: *
- infection/infection: ^0.15.0
- league/flysystem-memory: ^1.0.2
- php-coveralls/php-coveralls: ^2.2.0
- phpstan/phpstan: ^0.12.5
- phpstan/phpstan-phpunit: ^0.12.6
- phpstan/phpstan-strict-rules: ^0.12.1
- phpunit/phpunit: ^8.5.2
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: 3.5.*
- symfony/var-dumper: ^5.0.2
- dev-master
- 2.0.1
- 2.0.0
- 1.0.1
- 1.0.0
- 0.9.6
- 0.9.5
- 0.9.1
- 0.9
- dev-dependabot/composer/phpdocumentor/type-resolver-1.6.2
- dev-dependabot/composer/league/flysystem-1.1.10
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
- dev-dependabot/composer/myclabs/deep-copy-1.11.0
- dev-dependabot/composer/phpunit/php-file-iterator-3.0.6
- dev-dependabot/composer/sebastian/object-enumerator-4.0.4
- dev-dependabot/composer/sebastian/recursion-context-4.0.4
- dev-dependabot/composer/phpunit/php-timer-5.0.3
- dev-dependabot/composer/sebastian/resource-operations-3.0.3
- dev-dependabot/composer/phpunit/php-invoker-3.1.1
- dev-dependabot/composer/sebastian/version-3.0.2
- dev-dependabot/composer/phpunit/php-token-stream-4.0.4
This package is auto-updated.
Last update: 2024-09-17 08:02:03 UTC
README
对文件进行即时客户端加密以确保安全存储。
上传时,内容使用 Poly 1305 和密钥进行加密,并安全存储在文件系统中。
下载时,内容会被解密。
当前构建状态
安装
composer require alextartan/flysystem-libsodium-adapter
使用
use AlexTartan\Flysystem\Adapter\ChunkEncryption\Libsodium;use AlexTartan\Flysystem\Adapter\EncryptionAdapterDecorator; use League\Flysystem\Filesystem; use League\Flysystem\Memory\MemoryAdapter; $adapter = new MemoryAdapter(); $encryption = Libsodium::factory($encryptionKey, 4096); $adapterDecorator = new EncryptionAdapterDecorator( $adapter, $encryption ); $filesystem = new Filesystem($adapterDecorator);
注意;
由于 AwsS3(以及可能的其他远程适配器)处理流上传的方式,我不得不改变这个库的工作方式(版本直到 v.1.0.0
)
新版本使用 php://temp
流进行加密,一旦加密完成,流就会被发送到 writeStream
/readStream
从我所看到的性能来看,处理得很好。
版本控制
此库遵循 semver