steefdw / filecrypt
FileCrypt 是一个简单而强大的 PHP 扩展包,旨在帮助开发人员轻松地加密和解密文件。该库使用 Libsodium 密码库,确保了强大的加密标准。
v0.1.3
2024-02-27 13:42 UTC
Requires
- php: ^7.4|^8.0
- ext-sodium: *
Requires (Dev)
- ext-mbstring: *
- friendsofphp/php-cs-fixer: ^3.8
- phpmd/phpmd: ^2.12
- phpstan/phpstan: ^1.5
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
This package is not auto-updated.
Last update: 2024-09-24 15:27:36 UTC
README
FileCrypt 是一个简单而强大的 PHP 扩展包,旨在帮助开发人员轻松地加密和解密文件。该库使用 Libsodium 密码库,确保了强大的加密标准。
加密和解密文件可能很复杂,但敏感文件的加密和解密不应该如此。
安装
composer require steefdw/filecrypt
用法
如何使用 FileCrypt
- 首先,生成一个密钥并将其存储在一个安全的地方
- 之后,您就可以轻松地加密或解密文件
提示:如果您存储文件,并且将 S3/file 路径持久化存储在数据库中,您还可以为每个文件生成一个密钥,并将该密钥与 S3/file 路径一起保存在您的数据库中。
生成密钥
您可以使用 FileCrypt::generateKey() 方法生成一个新的密钥
$secretKey = FileCrypt::generateKey();
加密文件
FileCrypt::encrypt(
'path/to/input-file.txt',
'path/to/output-file.encrypted',
$secretKey
);
解密文件
FileCrypt::decrypt(
'path/to/input-file.encrypted',
'path/to/output-file.decrypted',
$secretKey
);
存储密钥
FileCrypt::generateKey()
生成一个二进制字符串,因此您可能会得到类似于:���m���yS'������H�&�@�'4%�\F�3
的内容。
而不是像:abcdefg1234567890hijkjlmnopk
这样的密钥。
因此,如果您想将密钥作为文本存储在某个地方——例如将其放入 .env
变量中——请将其保存为
$secretKey = FileCrypt::generateKey();
$base64EncodedStoredSecret = base64_encode($secretKey);
// Don't forget to decode it before using:
$secretKey = base64_decode($base64EncodedStoredSecret);
您可以在 example.php 中找到一个简单的示例。
测试
composer test
或
make test
贡献
- 确保代码验证成功。您可以使用
make validate
运行它。 - 确保所有测试都成功。您可以使用
make test
运行它们。 - 确保所有代码都经过测试。
许可
FileCrypt 在 MIT 许可下发布。有关更多信息,请参阅 许可文件。