47 lines
1.3 KiB
PHP
47 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace services;
|
|
|
|
class MarketService extends BaseService {
|
|
|
|
const TOKEN_SALT = 'B8E6BD4F-FD7B-E2B8-6688-80A2D8632064';
|
|
|
|
public static function isValidToken($account, $token)
|
|
{
|
|
$deToken = base64_decode($token);
|
|
if (empty($deToken)) {
|
|
return false;
|
|
}
|
|
if (empty($account)) {
|
|
return false;
|
|
}
|
|
$data = json_decode($deToken, true);
|
|
$sign = md5(self::TOKEN_SALT .
|
|
$data['account'] .
|
|
$data['rand'] .
|
|
$data['nonce'] .
|
|
$data['createtime']);
|
|
if ($sign == $data['sign']) {
|
|
return phpcommon\isSameAddress($data['account'], $account);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static function genToken($account, $nonce)
|
|
{
|
|
$data = array(
|
|
'account' => $account,
|
|
'rand' => uniqid(),
|
|
'nonce' => $nonce,
|
|
'createtime' => myself()->_getNowTime(),
|
|
);
|
|
$data['sign'] = md5(TOKEN_SALT .
|
|
$data['account'] .
|
|
$data['rand'] .
|
|
$data['nonce'] .
|
|
$data['createtime']);
|
|
return base64_encode(json_encode($data));
|
|
}
|
|
|
|
}
|