dterranova / crypto-bundle
此包已被废弃,不再维护。没有建议的替代包。
dterranovaCryptoBundle
dev-master
2016-09-21 06:28 UTC
Requires
- php: >=5.3.0
- symfony/framework-bundle: >=2.0
This package is not auto-updated.
Last update: 2023-08-12 11:53:39 UTC
README
此扩展包提供使用AES-256密码的文件加密功能。使用的内存量与加密的文件无关。
工作流程
加密
通过读取原文件,以chunk_file_size
为单位进行加密。在temp_folder
中创建一个以原加密文件命名的文件夹。每个加密部分都写入此文件夹。
解密
通过传递原文件名给decryptFile
方法,cryptoBundle使用文件加密部分的相应文件夹来重建原文件。
安装
- 添加到您的composer文件中
{ "require": { ... "dterranova/crypto-bundle": "dev-master" } ... }
-
更新您的供应商
php composer.phar update
-
添加到您的AppKernel
// app/AppKernel.php public function registerBundles() { return array( // ... new dterranova\Bundle\CryptoBundle\dterranovaCryptoBundle(), // ... ); }
- 添加到您的
app/config/config.yml
# app/config/config.yml dterranova_crypto: temp_folder: "%kernel.root_dir%/../web/YOUR_TEMP_FOLDER" chunk_file_size: 2 # The size (in Mb) of chunked files, more it is big more it will consume memory
使用方法
- 加密文件
$cryto = $this->get("dterranova_crypto.crypto_adapter"); $crypto->encryptFile(ABSOLUTE_FILE_PATH, KEY);
- 解密文件
$cryto = $this->get("dterranova_crypto.crypto_adapter"); $crypto->decryptFile(ABSOLUTE_FILE_PATH, KEY, true); // The same absolute file path