jtd420 / laravel-pgp
为您的Laravel应用程序提供自动PGP加密/解密功能。完全可定制,并且与默认提供的脚手架无缝工作!
Requires
- php: ^8.1
- illuminate/contracts: ^9.0
- singpolyma/openpgp-php: ^0.6.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-29 14:19:01 UTC
README
重要通知
请注意,Laravel-PGP目前处于开发的早期阶段(版本0.0.1),可能不适合在生产环境中使用。
本包为Laravel用户提供了一种方便的方法,将PGP加密和解密功能添加到他们的项目中,同时还提供了用于聊天界面的默认脚手架。
然而,就像任何新的软件一样,它仍在测试和改进中。我们建议用户在使用前谨慎评估其适用性。
支持我们
未来的更新将包括支持此项目和其他项目的方法。
安装
您可以通过composer要求此包
composer require jtd420/laravel-pgp
安装包
要将包安装到您的Laravel应用程序中,您需要使用composer要求它,并运行以下Artisan命令
php artisan PGP::install blade
如果您喜欢深色主题,可以运行以下命令代替,并使用--dark选项
php artisan PGP::install blade --dark
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="PGP-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="PGP-config"
这是发布配置文件的内容
return [ /* * To prevent naming conflicts, this prefix will be added to all Laravel-PGP migrations. */ 'table_prefix' => 'pgp_', /* * Prefix added to rest of Laravel-PGP code, including routes. (Delete default to remove prefix) */ 'prefix' => 'PGP', /* * Choose the layout file to be extended by the views provided in the package. * The default layout file is set to 'PGP::layouts.app', but can be changed to match your preferred layout. */ 'layout_file' => 'PGP::layouts.app', /* * Choose the section name to be used in the views provided in the package. * The default section name is set to 'content', but it can be changed to match the section defined in your custom layout file. * This option is only applicable if you have set a custom 'layout_file' with a different '@section()' name. */ 'layout_section' => 'content', 'uses_custom_auth' => true, ];
可选地,您可以使用以下命令发布视图
php artisan vendor:publish --tag="PGP-views"
使用方法
本包包括位于App/Http/Controllers/PGPController的PGPController类,供希望了解包内部工作原理并可能对其进行修改的用户使用。但是,如果您只需要默认加密消息功能,则无需进行任何额外设置。该包提供了合理的默认设置,易于使用,同时也为希望扩展它的用户提供了高度的可定制性。
要使用该类及其方法,必须将其导入控制器并实例化
use App\Http\Controllers\PGPController; $controller = new PGPController();
生成密钥对
generate_keypair方法生成一个公钥/私钥对,并以加密的PGP密钥的形式返回公钥和私钥。
$keypair = $controller->generate_keypair('Name', 'email@email.com', 'RealSecurePassPhrase'); $public_key = $keypair['public_key']; $private_key = $keypair['private_key'];
加密消息
encrypt方法接受一个公钥和一个消息,并返回一个加密的加密的PGP消息。
$encrypted_message = $controller->encrypt($public_key, 'secret message');
解密消息
decrypt方法接受一个私钥、加密的消息和密码短语,并返回解密后的消息或如果解密失败则返回JSON错误。
$decrypted_message = $controller->decrypt($private_key, $encrypted_message, 'RealSecurePassPhrase');
更多内容,请参阅这里!
测试
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志。
贡献
有关详细信息,请参阅贡献指南。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅我们的安全策略。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。