init: import production code mss.nahaichuan.com (exclude Runtime/Uploads/backups/logs)
这个提交包含在:
66
Install/Addons/Api/Crypto.class.php
可执行文件
66
Install/Addons/Api/Crypto.class.php
可执行文件
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
namespace Addons\Api;
|
||||
class Crypto{
|
||||
/**
|
||||
* 数据加密
|
||||
* @param unknown $data 原始数据
|
||||
* @param unknown $key 密钥
|
||||
* @return string 加密数据
|
||||
*/
|
||||
function encrypt($data, $key)
|
||||
{
|
||||
$key = md5($key);
|
||||
$x = 0;
|
||||
$len = strlen($data);
|
||||
$l = strlen($key);
|
||||
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 unknown $data 密文
|
||||
* @param unknown $key 加密密钥
|
||||
* @return string 原文
|
||||
*/
|
||||
function decrypt($data, $key)
|
||||
{
|
||||
$key = md5($key);
|
||||
$x = 0;
|
||||
$data = base64_decode($data);
|
||||
$len = strlen($data);
|
||||
$l = strlen($key);
|
||||
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;
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户