steefdw/filecrypt

FileCrypt 是一个简单而强大的 PHP 扩展包,旨在帮助开发人员轻松地加密和解密文件。该库使用 Libsodium 密码库,确保了强大的加密标准。

v0.1.3 2024-02-27 13:42 UTC

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 许可下发布。有关更多信息,请参阅 许可文件