??一個工具箱

0.8.9
版本
2024-03-21
版本更新時間
867
安裝
7
star
xy_jx/utils
1.生成二維碼 2.xml與數(shù)組轉換 3.生成范圍經(jīng)緯度 4.經(jīng)緯度換算距離 5.人民幣轉大寫 6.MurmurHash 7.GoogleAuth 8.對稱加密和證書加密 9.訪問限制 10.生成證書 11.驗證碼 12.Excel導出 13.jwt
第一步:composer安裝
composer require xy_jx/utils
第二步使用:
獲取隨機字符串
echo rand_string();//KPV1
獲取UUID
echo UUID();//0b90f8b2-dca8-4ee8-86a1-f2a990605912
數(shù)字人民幣轉漢字大寫
echo rmb_capital(159622);//壹拾伍萬玖仟陸佰貳拾貳圓
驗證碼
use xy_jx\Utils\Captcha;
class xy
{
// 初始化驗證碼類
$Captcha = new Captcha();
// 生成驗證碼和key (密鑰沒有存儲到session或Cookie)可自己存儲 防止用戶重復使用
$cap = $Captcha->create();
//echo $cap['img'];//data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAA+CAMAAABZTaSoAAAAclBMVEXOvPAKZhygpcukoLrfprXhuaOenLe+n8ianayatMa...
// 驗證是否正確
var_dump($Captcha->check($cap['code'], $cap['key']));// true
}
jwt
use xy_jx\Utils\Jwt;
class xy
{
//設置額外的密鑰
Jwt::set('iv', '@user@token@jwt*');
$user = [
'id' => 5,
'tel' => '188888888888',
'name' => 'xy',
'email' => 'xy@email.com',
'sex' => 2,
'login_num' => 12,
];
//獲取token
$token = Jwt::getToken($user);
//通過token獲取用戶數(shù)據(jù)
$user = Jwt::getUser($token['token']);
var_dump($user);
}
加解密數(shù)據(jù)
use xy_jx\Utils\Encryption;
class xy
{
$data = [
'id' => 5,
'tel' => '188888888888',
'name' => 'xy',
'email' => 'xy@email.com',
'sex' => 2,
'login_num' => 12,
];
//加密數(shù)據(jù)
$encrypt = Encryption::Encrypt($data);
//解密數(shù)據(jù)
var_dump(Encryption::Decrypt($encrypt));
}
谷歌驗證碼GoogleAuthenticator
use xy_jx\Utils\GoogleAuthenticator;
class xy
{
//創(chuàng)建一個密鑰
$secret = GoogleAuthenticator::createSecret();//WQI5IOGD6WSRHDIFNFHYJCHANUJZDMAG
//通過密鑰獲取一個驗證碼
$code = GoogleAuthenticator::getCode($secret);//273079
//通過密鑰驗證code
var_dump(GoogleAuthenticator::verifyCode($secret, $code));// true
//獲取第3方綁定二維碼(從google圖表中獲取圖像的QR碼URL)
echo GoogleAuthenticator::getQRCodeGoogleUrl(
$name = 'xy',
$secret,
$title = '綁定密鑰'
);//https://api.qrserver.com/v1/create-qr-code/?data=otpauth%3A%2F%2Ftotp%2Fxy%3Fsecret%3DG3HVLCM5OCO6GTLCVNTD35UFIO4L6GB3%26issuer%3D%25E7%25BB%2591%25E5%25AE%259A%25E5%25AF%2586%25E9%2592%25A5&size=200x200&ecc=M
}
Excel導出
額外安裝phpspreadsheet
composer require phpoffice/phpspreadsheet
use xy_jx\Utils\Excel;
class xy
{
$userAll = [
[
'id' => 1,
'name' => '張三',
'cd' => date('Y-m-d'),
],
[
'id' => 2,
'name' => '李四',
'cd' => date('Y-m-d'),
],
[
'id' => 3,
'name' => '王五',
'cd' => date('Y-m-d'),
],
];
Excel::header('用戶導出', ['id' => 'ID', 'name' => '名字', 'cd' => '時間'])
->content($userAll)->save('Xlsx', true, '用戶.Xlsx');
}