first commit
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user