Files
CompanyProject/芳林公司项目/www.zhiyuanhelp.com/application/admin/service/ToolService.php
2024-09-27 01:32:49 +08:00

75 lines
1.7 KiB
PHP

<?php
/*
* 工具服务类
* */
namespace app\admin\service;
class ToolService {
/**
* 获取文件后缀名
* @param $filename
* @return string
*/
public static function getSuffix($filename) {
return strrchr($filename, '.');
}
/**
* 加密
* @param $data 加密内容
* @param $key 秘钥
* @return string
*/
public static function encrypt($data, $key) {
$key = md5($key);
$x = 0;
$len = strlen($data);
$l = strlen($key);
list($char, $str) = ['', ''];
for ($i = 0; $i < $len; $i++) {
if ($x == $l) {
$x = 0;
}
$char .= $key{$x};
$x++;
}
for ($i = 0; $i < $len; $i++) {
$str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
}
return base64_encode($str);
}
/**
* 解密
* @param $data 解密内容
* @param $key 秘钥
* @return string
*/
public static function decrypt($data, $key) {
$key = md5($key);
$x = 0;
$data = base64_decode($data);
$len = strlen($data);
$l = strlen($key);
list($char, $str) = ['', ''];
for ($i = 0; $i < $len; $i++) {
if ($x == $l) {
$x = 0;
}
$char .= substr($key, $x, 1);
$x++;
}
for ($i = 0; $i < $len; $i++) {
if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) {
$str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
} else {
$str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
}
}
return $str;
}
}