mrdebug / lara-file-encrypter
LaraFileEncrypter:一款Laravel包,可安全无缝地管理加密文件,无需持久存储密钥。
Requires
- php: >=8.0.0
This package is auto-updated.
Last update: 2024-09-26 23:45:24 UTC
README
LaraFileEncrypter是一个Laravel包,旨在增强您应用程序的文件安全性。通过简单的集成,它使您能够轻松实现AES-256加密。LaraFileEncrypter的独特之处在于其独特的方法:在不需要存储密钥的情况下提供最大安全性。现在,确保您的文件安全变得简单,确保数据机密性而不会增加复杂性。
它是如何工作的?
LaraFileEncrypter通过消除管理加密密钥的需要来简化文件安全性。相反,该过程依赖于用户选择的密码。
在加密文件时,LaraFileEncrypter根据提供的密码生成一个加密密钥。这个密钥,即从密码派生出的密钥,用于使用AES-256算法来保护您的文件。
这种方法消除了存储或管理单独加密密钥的需要。通过选择一个强大的密码,您确保了文件的有效保护,而没有传统密钥管理所涉及到的复杂性。
优点和缺点
信服吗?😉
如果您觉得这个项目很有用,请考虑给它加一颗星⭐。这有助于我优先考虑并专注于保持项目更新。感谢您的支持!
安装
composer require mrdebug/lara-file-encrypter
使用方法
本包提供了一个名为LaraFileEncrypter
的facade。
加密文件
encryptFile
方法public function encryptFile(string $filePath, string $rawPassword)
定位一个文件,并使用提供的密码替换其现有内容。密码必须以纯文本形式提供。
示例
LaraFileEncrypter::encryptFile( storage_path('app/files/secret-file.pdf'), 'mysecurerawpassword' );
您可以添加一个盐
LaraFileEncrypter::encryptFile( storage_path('app/files/secret-file.pdf'), 'mysecurerawpassword'.$salt );
解密文件
LaraFileEncrypter
facade提供了两种解密文件的方法。一种方法是流式下载(decryptAndStreamDownloadFile()
)文件,另一种方法是解密文件的内容(decryptContentFile()
)。
public function decryptAndStreamDownloadFile(string $filePath, string $rawPassword)
和
public function decryptContentFile(string $filePath, string $rawPassword)
示例
LaraFileEncrypter::decryptAndStreamDownloadFile( storage_path('app/files/secret-file.pdf'), 'mysecurerawpassword' );
和
LaraFileEncrypter::decryptContentFile( storage_path('app/files/secret-file.pdf'), 'mysecurerawpassword' );
当然,您必须提供与加密步骤中使用的相同密码。
许可证
本包采用MIT许可证。
其他项目
在GitHub上探索我的其他项目
- Crud Generator Laravel:几秒钟内创建Laravel 10 CRUD