kerogs / kerogs-php
具有许多功能的简单帮助库。
1.4
2024-09-22 23:17 UTC
Requires
- php: >=8.0
README
安装
composer require kerogs/kerogs-php
如何使用
要使用该包,您首先需要从vendor文件夹导入autoload.php文件。
完成此操作后,您可以使用您感兴趣的部分。
require_once '/vendor/autoload.php'; use Kerogs\KerogsPhp\[name];
注意
将 [name]
替换为您要使用的名称。您可以参考下面的列表。
列表
注意
所有请求的加密密钥均为AES-256-CBC格式
Kerogs\KerogsPhp\Key
使用Key()
类来生成唯一密钥。
使用示例
require_once '/vendor/autoload.php'; use Kerogs\KerogsPhp\Key; $key = new Key(1); echo $key->keyGeneration(16);
初始化密钥时,您必须指定您将要使用的字符字符串类型。这将以数字表示。
private static $keyTypes = [ 1 => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-( )'!@#$%^&*", 2 => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-( )'!", 3 => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-( )", 4 => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-", 5 => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", 6 => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 7 => "abcdefghijklmnopqrstuvwxyz", 8 => "0123456789", 9 => "abcdefghijklmnopqrstuvwxyz0123456789" ];
函数列表
Kerogs\KerogsPhp\Logs
您可以轻松创建自己的日志,并在需要时加密它们。
使用示例
require_once '/vendor/autoload.php'; use Kerogs\KerogsPhp\Logs; const LogsKey = 'abcd-efgh-ijkl-mnop'; $logs = new Logs(LogsKey, true); $logs->addLog(null, "User successfully logged in", 200, "INFO", false, true);
在示例中,我们通过指定一个密钥(如果需要,此密钥将用于加密和解密日志内容)初始化该类。然后,我们通过true
表示我们希望加密日志文件。
然后我们简单地添加日志。
重要
日志密钥必须为16字节格式,如下所示。
如果我们没有为addLog()函数指定日志路径(通过将其指定为null
),则将在服务器根目录自动创建一个名为kp_server.log
的文件。
还值得了解
- 当文件加密时,它将以
[fileName].log.kpc
的名称出现。 - 当文件解密时,它将以
[fileName].log
的形式出现。
函数列表
addLog()
向文件添加日志条目。
addLog( string $pathLogs = null, string $message = "-", int $statusCode = 200, string $logType = "INFO", bool $logIp = false, bool $logRequestData = false ):
encryptDecryptFile()
加密或解密日志文件。
encryptDecryptFile(string $filePath, bool $encrypt): void
Kerogs\KerogsPhp\Sendmail
您可以无需重写代码即可直接发送电子邮件。
使用示例
require_once __DIR__.'/vendor/autoload.php'; use Kerogs\KerogsPhp\Sendmail; const from = "froms@example.com"; const to = "to@example.com"; $sendmail = new Sendmail(from); if($sendmail->sendMail(to, "Subject test", "hello world"))) echo "Email sent successfully"; else echo "Email not sent";
默认内容类型为text/HTML
Kerogs\KerogsPhp\Github
允许您从GITHUB仓库检索信息并比较版本。
函数列表
使用示例
require_once __DIR__.'/vendor/autoload.php'; use Kerogs\KerogsPhp\Github; $github = new Github(); $lastRelease = $github->compareVersions("1.3.17", $github->getLatestRelease("KSLaboratories", "kerogsPHP", false)['name']); if($lastRelease['same']) { echo "KerogsPHP is up to date !"; } else{ if($lastRelease['comparison'] === 'above') { echo "KerogsPHP is outdated ! (above)"; } else { echo "KerogsPHP is outdated ! (below)"; } }
Kerogs\KerogsPhp\Algorithm
允许您管理算法
函数列表
使用示例
require_once __DIR__.'/vendor/autoload.php'; use Kerogs\KerogsPhp\Algorithm; $algo = new Algorithm(); $searchBanana = $algo->searchEngine(['banana', 'apple', 'orange', 'pineapple'], 'banana'); print_r($searchBanana);